ТМС:Менеджер — различия между версиями

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск
(cfDB)
(cfFileUtils)
Строка 50: Строка 50:
  
 
  '''procedure GetFileListEx(sPath: string; sl: TStringList);'''
 
  '''procedure GetFileListEx(sPath: string; sl: TStringList);'''
 +
Процедура заполняет sl списком имен файлов и датой изменения файла из заданного каталога по заданной маске.
 +
Например sPath='C:\temp\*.dbf'
 +
 
  '''function GetUniqueFileName(Path: string; Delimiter: string = ''): string;'''
 
  '''function GetUniqueFileName(Path: string; Delimiter: string = ''): string;'''
 
  '''function GetUniqueFileNameX(Path: string; Delimiter: string = ''): string;'''
 
  '''function GetUniqueFileNameX(Path: string; Delimiter: string = ''): string;'''

Версия 13:53, 9 апреля 2015

USES

cfDB

function MakeCreateTableQueryByFields(fields: TFields; tablename: string): string;
function FieldTypeIsString(field: TField): boolean;
function FieldTypeIsIntOrFloat(field: TField): boolean;
function FieldTypeIsDateTime(field: TField): boolean;
function FieldTypeIsBoolean(field: TField): boolean;
function FieldTypeIsBlob(field: TField): boolean;
function FieldValue2Txt(fld: TField; StringEscapeBy: string = '"'; MySQLReplace: boolean = false): string;
function FieldValue2TxtB(sValue: string; StringEscapeBy: string = '"'; MySQLReplace: boolean = false): string;
function FieldValue2TxtA(fld: TField): string;
function FieldValue2TxtZ(Value: string; StringEscapeBy: string = '"'; MySQLReplace: boolean = false; ReplaceCLRF: string = #13#10): string;
function GetIBWhere(fieldname, searchCondition: string; bAnd: boolean = true; insertUPPER: boolean = true): string;
function cfADOFilter(fieldname, source: string): string;
function GetDefaultValueByIBType(itype: integer): string;
function ParseSelect4From(sqltext: string): string;
function ParseSelect4Where(sqltext: string): string;
function PrepareForFind(s: string): string; // обрезает окончания...
procedure cfCSV2DBF(csvFileName, dbfFileName: string; createbeforesqltext: string = );
function inserttowhere(sqltext, clause: string): string;
function EkranWhere(SQLText: string): string;
function InsertWhere(const S: string; SQLText: string): string;
function GetPosOfStatement(const SQLText, Statement: string; var NextPos: integer): integer;
procedure ExportcfDataSet(dataset: TDataSet; stream: TStream; DateTimeCallBackProcedure: TDateTimeCallBackProcedure = nil);
procedure ExportcfDataSetWithCallBack(dataset: TDataSet; stream: TStream; CallBack: TExportCallBackProcedure = nil; tag: integer = 0);
function CheckWhereForNode(Node: TdxTreeListNode; WhereClause: string; PreparedFieldList: TStringList; ibQuery: TIBSQL): boolean;
function PrepareFieldListForCheck(gb: TCustomdxDBTreeListControl; sqlText: string; PreparedFieldList: TStringList): string;
function XReplace(S, OldPattern, NewPattern: string; chars: string = '{ ()=<>!|"}'): string;
procedure cfAssignFields(Source, Dest: TDataSet; XFields: string = );
procedure cfAssignIBParams(Source, Dest: TIBQuery; var InsertText, UpdateText: string; XFields: string = );
procedure SyncParams(source:TParams; dest: TIBXSQLDA); overload;
procedure SyncParams(source:TParams; dest: TParams); overload;
procedure SyncParams(source:TParams; dest: TDataSet); overload;
procedure cfAssignParamsValues(source:TParams; dest: TParams);
procedure FieldValuesToParamValuesByNames(Source, Dest: TIBQuery; XFields: string = );
function FieldExists(ibdb: TIBDatabase; tablename, fieldname: string): boolean;
procedure CreateAccessDatabase(FileName: string);
function FieldTypeToStr(fieldtype: TFieldType): string;

cfFileUtils

procedure GetFileListWithSubFolders_(sPath: string; sl: TStringList);
Процедура заполняет sl списком файлов из заданного каталога по заданной маске, включая подкаталоги. Например sPath='C:\temp\*.dbf'
procedure GetFileListWithSubFolders(sPath: string; sl: TStringList);
Процедура заполняет sl списком файлов из заданного каталога по заданной маске, включая подкаталоги. Например sPath='C:\temp\*.dbf'
procedure GetFileList(sPath: string; sl: TStrings; IncludePath: boolean = false; excludeext: boolean = false);
Процедура заполняет sl списком имен файлов из заданного каталога по заданной маске. Если IncludePath = true, то в именах файлов будут присутствовать каталог.
Например sPath='C:\temp\*.dbf'
procedure GetFileListEx(sPath: string; sl: TStringList);
Процедура заполняет sl списком имен файлов и датой изменения файла из заданного каталога по заданной маске.
Например sPath='C:\temp\*.dbf'
function GetUniqueFileName(Path: string; Delimiter: string = ): string;
function GetUniqueFileNameX(Path: string; Delimiter: string = ): string;
function CreateUniqueDir(Path: string; Delimiter: string = ): string;
function GetLastModFile(sPath: string): string;
function FilesCountWithSubFolders_(sPath: string; bExitIFinded: boolean = false): integer;
function FilesCount(sPath: string): integer;
procedure DelFiles(sPath: string; DelDirs: boolean = false; RaiseOnError: boolean = true);
procedure DelFileList(sl: TStrings);
function GetFileSize_(namefile: string): Integer;
function GetFileDateTime(FileName: string): TDateTime;
function GetCreateFileDateTime(filename: string): TDateTime;
procedure CreateDirIfNotExists(path: string);
function GetFirstFile(sPath: string; var sResult: string; IncludePath: boolean = false): boolean;
function GetFilesearchRec(namefile: string):TSearchRec;
function FileExistsInSubDirs(FileName: string; Directory: string; var path: string): boolean;
procedure GZFile(res, dest: string);
procedure UnGZFile(res, dest: string);
function SelectDir(handle: THandle; var dir: string; title: string = 'Выберите папку'; StatusText: string = 'Укажите папку'): boolean;
procedure WriteLog(msg: string; appfilename: string);
function cfGetTempPath: string;
function GetFileVersionMajorMinor(FileName: string): double;
function GetFileVersionCF(FileName: string): string;
function GetFileVersionMajorMinorText(FileName: string): string;
function cfCleanFileName(FileName: string; replacestr: string = '_'): string;
function CheckFileName(FileName: string): boolean;
function TestDir(ADir: string; testfilename: string = 'try.tst'): boolean;
function GetSpecialPath(CSIDL: word): string;
function cfGetSystemDrive: string;
function FirstMaskMatchedFile(mask: string): string;
function GetDriveList(coldelimiter: string = #9; rowdelimiter: string = #13#10): string;
function GetFolderContent(path: string; coldelimiter: string = #9; rowdelimiter: string = #13#10): string;
function GetFileAttrsLine(path: string; coldelimiter: string = #9): string;
Function SetFileDate(Const FileName : String; Const FileDate : TDateTime): Boolean; overload;
Function SetFileDate(Const FileName : String; Const FileDate : integer): Boolean; overload;
function GetPrevFolder(path: string): string;
procedure SetRegisteredIcons(ilSmall, ilLarge: TImageList; mask: string = '*.*');
function GetIconIndex(ext: string): integer;
function LoadSystemIcons(SmallIcons: Boolean; var il: TImageList): Boolean;
function FileIconSysIdxOffline( const Path: String ): Integer;
function GetPrettyFileSize(v: integer): string;
procedure GetSubDirectories(const directory : string; list : TStringList) ;

cfTMSIDERegAdvTMSPallete

cfTMSIDERegcfPallete

cfTMSIDERegdxPallete

cfTMSIDERegEmbeddedWBPallete

cfTMSIDERegGBPallete

cfTMSIDERegIBPallete

cfTMSIDERegStandartPalletes

dxCntner

dxDBCtrl

dxDBGrid

dxDBTL

dxExEdtr

dxTL

dxTLClms

IDERegAdoPalette

IDERegDBPalette

NEED

UnDeclare

UnDM

function InitMGN: boolean;
Инициализация глобального справочника
function ExtractFileNameWithoutExt(const FileName: string): string;
Возвращает имя файла без расширений и каталога
procedure LoadSettings;
Загрузка настроек интеллектуальной заявки ZAutoXP
procedure DoLocalSettings(bRead: boolean);
Установка локальных параметров. Например, параметры подключения к интеллектуальной заявке, сведения о регистрации программы, параметры подключения к интернету и прочее.
procedure SendInfoM;
Процедура собирает информацию о клиенте: параметры организации, имя компьютера, адрес организации о отправляет разработчикам.  
procedure InitGDB;
Инициализация подключения к базе Общего Заказа. PARAMS.PARAM_ID='GDB_CONNSTR'
procedure InitOzDb;
Инициализация подключения к базе Общего Заказа. PARAMS.PARAM_ID='OZ_CONNSTR'
function GetFolder: string;
Возвращает код выбранной группы (PARTS.FOLDERS). 0 - если не выбрано.
procedure SelectsCheck;
 Проверяет наличие всех необходимых режимов в SELECTS, если нет, то добавляет. Проверяемые коды: -14, -10, -11, -12, -13
function TempQuery(trn: TIBTransaction = nil; db: TIBDatabase = nil): TIBQuery;
Возвращает созданный TIBQuery, подключенный к текущей базе данных.
function Init(var sMsg: string): boolean;
Инициализация программы Менеджер
function InitAfter(var sMsg: string): boolean;
Выполняет следующие шаги запуска менеджера:
-Проверка набора системных запросов
-Инициализация менеджера форм
-Инициализация меню отчетов
-Инициализация Внешних справочников
-Инициализация клиента Интеллектуальной заявки
-Инициализация подпрограмм
-Инициализация фильтров архива документов
-Инициализация SpacePro справочников
-Инициализация принтеров
-Инициализация основной подпрограммы TMS (-400)
-Инициализация фрейма "Касса"
-Инициализация фрейма "Комплекты"
-Инициализация стилей
-Проверка индексов
-Загрузка настроек автонаценки
procedure SaveEncryptedSettings;
Сохранение зашифрованных настроек в файл params.stn. К таки параметрам относятся параметры подключения к базе данных, последний вошедший пользователь и прочее
function Autorisation: boolean;
Вызывается окно авторизации пользователя, загружаются параметры пользователя из users.userdata
procedure LogIt(s: string);
Выводит сообщение в панели сообщений отладки
procedure LogException(s: string);
В файл exceptions.log (логирование исключений) добавляет строку s
procedure Display(s: string);
Выводит сообщение s в строке состояния (левом нижнем углу)
function startsession(user_id: int64; forcecreate: boolean; var ws_name: string): boolean;
Создание новой сессии SESSOINS. Работает хранимая процедура PR_NEWSESSION
procedure endsession(CLOSESESSION_ID: int64 = 0; ENDFLAG: integer = 0; DOEVENT: boolean = false);
Завершение работы текущей сессии. CLOSESESSION_ID - Код сессии, ENDFLAG - флаг закрытия, DOEVENT - признак наличия события.
Работает хранимая процедура PR_CLOSESESSION
procedure SetDBVER;
Формирование заголовка программы. Название версия, зарегистрирована или нет.
function NewWinBtn(caption: string; icon: TIcon): TSpeedButton;
Создает новую кнопку TSpeedButton и размещает ее на pnWindows. У меня эта процедура, почему то не работает...
procedure initimagelist;
Инициализация картинок, которые хранятся в таблице imagelist поле DATA. Данные картинки используются для картинок групп.
procedure SaveUserDataFile;
Сохранение параметров пользователя в USERS.USERDATA. Настройки сеток, настройки программы кассир на пользователя
procedure SaveSettings;
Сохранение настроек интеллектуальной заявки ZAutoXP
procedure SaveMngrWindowsSettings;
Сохранение положения и размера окна для окна истории товаров.
procedure gbKeyPress(Key: Char; ed: TEdit; DoDigits: boolean = False);
В ed выводит код нажатой клавиши.
function SessionByID(id: int64): rSession;
Возвращает параметры сессии по коду сессии. Возвращаемые значения: id,username,user_id,ws_id,wsname,ws_ip. Доступ к результату функции через точку.
Например: dm.SessionByID.wsname - имя компьютера с которого была запущена сессия с кодом 0. 
function SessionID: int64;
Возвращает код текущей сессии
function GetCustomDrawText(sField: string; AText: string): string;
Пока нет описания
function DelFromGroup(CurMembership: TCurMembership): boolean;
В TMS нет типа TCurMembership, по этому функция не используется. А вообще, удаляет запись из членства в группе.
function CheckMembership(grouptablename: string; table_id: int64; checkgroup_ids: string): boolean;
Возвращает признак принадлежности к группе
procedure ShowPartHistory(part_id: int64; ScreenRect, MaxRect: TRect);
Открыть историю товара для указанной партии
procedure InitGridParamView(gb: TCustomdxDBTreeListControl; gbName: string; filename: string; LoadAllRecordsMode: integer = 0);
Инициализация внешнего вида сетки для заданной сетки из USERS.USERDATA
procedure gbCtrl(edcfSelect: TcfSelectEdit; Key: Word; Shift: TShiftState);
Послать нажатие клавиши Ctrl в определенную сетку. По умолчанию, очищает поле поиска. 
procedure CancelgbCtrl(gb: TWinControl);
После запуска данной процедуры клавиша Ctrl не будет очищать поиск.
function IsAdmin: boolean;
Если код текущего пользователя 0 или у текущего пользователя есть права администратора, то возвращает Истину, иначе ложь
function IsManager: boolean;
Если код текущего пользователя 0 или у текущего пользователя есть права менеджера или администратора, то возвращает Истину, иначе ложь
procedure DoDates(ANode: TdxTreeListNode; fieldname: string; var AText: string; var AColor: TColor; AFont: TFont);
Применяет раскраску ячеек в колонках срок годности, дата окончания, дата вставки, дата обновления на основании настроек программы для интерактивной подкраски.
procedure CheckSession;
Проверяет наличие открытой активной сессии для текущего пользователя и программы, если такой, нет - завершается работа программы.
function GetCash: double;
Обновление суммы наличности в кассе в журнале документов кассы.
procedure CompleteCurParams(filename: string);
Загрузить профиль интерфейса из файла (*.asni) USERS.USERDATA
function GetDocFrameById(id: int64): TFrameCustomDoc;
Возвращает фрейм (форму) активного документа по коду документа.
procedure DrawImage_Folder(il: TImageList; ImageIndex: integer; AText: string; ACanvas: TCanvas; ARect: TRect; AColor: TColor; AFont: TFont);
Прорисовать картинку с кодом ImageIndex из il у ARect с надписью AText
procedure ToolButtonDropDownMenuClick(btn: TToolButton);
Пустая процедура, ничего не делает
procedure ExecScript(group_id: int64; program_data: TStringList = nil); overload;
Запустить скрипт (подпрограммы) на выполнение с кодом group_id, где program_data входящие параметры, доступные в самом скрипте.
procedure ExecScript(group_id: int64; program_data: TStringList; Sender: TObject); overload;
Запустить скрипт (подпрограммы) на выполнение с кодом group_id, где program_data входящие параметры, доступные в самом скрипте.
procedure ExecScript(PartGroup: TPartGroup; program_data: TStringList; Sender: TObject); overload;
Запустить скрипт (подпрограммы) на выполнение PartGroup, где program_data входящие параметры, доступные в самом скрипте.
procedure ExecScript(group_sid: string; program_data: TStringList; Sender: TObject); overload;
Запустить скрипт (подпрограммы) на выполнение с sid=group_sid, где program_data входящие параметры, доступные в самом скрипте.
procedure InitScriptsMenu(MenuItems: TMenuItem);
Инициализация меню подпрограмм. То, что будет выходить по кнопке "Выполнить": список скриптов, список TMS скриптов, "Обновить список подпрограмм"
function InitScripts_AddChilds_recur(ParentMI: TMenuItem): boolean;
Инициализация подменю подпрограмм
procedure UpdKritK(name_id: string; value: integer);
Установить критическое количество (минимальный остаток) для указанного наименования. update vals set intvalue=:value where id=:name_id

function EditImageList(id: integer): boolean;
Открыть окно с  выбором иконки. При изменении содержимого набора картинок, данные пере пишутся в базу.
procedure SetInitParams;
Устанавливает значения параметров, доступных в программе на протяжении всей сессии. 
После знака равенства указаны значения по умолчанию,в  случае отсутствия параметра в таблице PARAMS
 PARAMS.PARAMS_FORMSPART='forms'
 PARAMS.PARAMS_ENAKLBACKPATH='enakl\enakl_back'
 PARAMS.PARAMS_ENAKLPATH='enakl\enakl_ok'
 PARAMS.PATH_PICTS='picts'
 PARAMS.PATH_ENAKL_CORRECTQUANT_MASK='enakl\enakls\*.dbf'
 PARAMS.PATH_ENAKL_RASHOD_MASK='enakl\enakls\d*.dbf'
 PARAMS.PATH_ENAKL_PRIHOD_MASK='enakl\enakls\*.dbf'
function InitScales: boolean;
Инициализация электронных весов в менеджере, работает если PARAMS.INIT_SCALES=1
function InitMgnCustomDicts: boolean;
Инициализация внешнего справочника или глобального справочника при редактировании наименования. 
Визуально находится справа от основного справочника выбора наименования.
В список внешних справочников попадают все справочники из WDICTS со status=0
procedure InitDataSet(var IBQuery:TIBQuery);
Создает IBQuery подключенного к текущей базе данных с активной транзакцией.
function GetStringFromClipboard: WideString;
Возвращает строку. находящуюся в буфере обмена.
procedure RefreshGrid(Grid: TdxDBGrid; UniqueField: String);
Обновляет все содержимое сетки TdxDBGrid. UniqueField - ключ сетки.
procedure CustomParamsInit;
Инициализация параметров в текущей сессии:
PARAMS.ACTIVE_DOC_HIGHLIGHT
PARAMS.NAMES_FIRST_UP
PARAMS.HIDE_MINUS
PARAMS.PRICE_EDIT_ACTION
PARAMS.BCODE_EDITOR
PARAMS.ALLOW_RASHOD_NOPARTID
PARAMS.TREE_LIST_VIEW
PARAMS.AGENTS_DICT_MODE
PARAMS.MAKE_ENABLE
PARAMS.STRING_VAL_FIELDS
PARAMS.ENAKL_NUM_MODE
PARAMS.AUTO_GROUP_FIELDS
PARAMS.MAKETYPES
PARAMS.STYLE
PARAMS.GEN_BARCODE
PARAMS.ACTION_PRIHOD
PARAMS.ACTION_RASHOD
PARAMS.COMMITDATE
PARAMS.EDIT_SEARCH_FIELDS
PARAMS.PARAMS_EMAIL
PARAMS.EMAIL
PARAMS.PARAMS_SMTP
PARAMS.PARAMS_PORT
PARAMS.PARAMS_PSW
PARAMS.PARAMS_TEMP_PATH
PARAMS.PARAMS_AUTOTLS
PARAMS.PARAMS_FULLSSL
PARAMS.ORG_NAME_NAKL
PARAMS.SEND_METHOD
PARAMS.ELNAKLDIALOG
PARAMS.ARCHIVE_AGENTS_LIMIT
PARAMS.INDEX_CHECK
PARAMS.SHOW_OBSOLETE
PARAMS.GET_HISTORY
PARAMS.MAKE_STATES
PARAMS.OZ_CONNSTR
PARAMS.OZ_PATH
PARAMS.ELNAKLS_UPDATE
PARAMS.ACTIVEDOC_PRINT_METHOD
PARAMS.ORDER_VIEW
PARAMS.ORDER_SETTINGS
PARAMS.GDB_CONNSTR
PARAMS.USE_AUTORASHOD_SCRIPTS
PARAMS.AUTONAC
PARAMS.AUTORASHOD_METHOD
procedure CustomDictsInit;
Добавляет в меню справочники - дополнительные возможности список SP$WDISTS где status=0
Добавляет в основном окне закладки со справочниками SP$WDISTS где status=2
procedure ShowSplash;
пустая процедура, ничего не делает.
procedure InitPrinters;
В поле param_type_data таблицы PARAMS в строке с кодом -43 (PARAm_ID='DEF_PRINTER') записывается список принтеров из системы
function PrepareForFind(s: string): string;
Подготавливает строку s к поиску. Из строки s вырезаются все значения из таблицы NAME_RULES.
Если type=0, вырезать все значения 
Если type=1, вырезать значения слева
Если type=2, вырезать значения справа
function IsDigit(s: char): boolean;
Возвращает Истина, если s является числом, Ложь - иначе.
function RemoveLeft(s, val: string): string;
Подготавливает строку к поиску, обрезая слева все цифры, находящиеся до val
function RemoveRight(s, val: string): string;
Подготавливает строку к поиску, обрезая справа все цифры, находящиеся от val
function IsReg: boolean;
Возвращает Истина если программа зарегистрирована, Ложь - иначе
function ConvertFSelect(svalue: string): string;
Преобразует строку svalue (типа selected_ids ' 1  2  3  4 ') к виду '1,2,3,4' для последующего использования в зпросе
procedure bLocate(qD: TIBQuery; UniqueField: String; id: Variant);
Позиционирует запись в запросе qD по значению id в поле UniqueField
function CreatePreviewFile(pict_id: int64): boolean;
Выгружает картинку предварительного просмотра из поля PREVIEW таблицы 
procedure UpdateUserMMBSH;
Для текущей сессии заполняет значение mmbsh по grouptabele='USERS'и текущему пользователю
Не используется в ТМС
function GetGoodNameID(sname: string): int64;
При подключенном глобальном справочнике возвращает код позиции приведенного наименования в глобальном прайсе по sname
function UserParamsByID(UserID: integer): TcfZip;
Возвращает профиль у пользователя с кодом UserID
function CopyGridParams(gb: TCustomdxDBTreeListControl; gbName, gbFileName: String; LoadAll: integer = 0): boolean;
Вызывается операция копирования сетки у пользователя для текущего пользователя.
function GetGoodName(svalue: string): string;
При подключенном глобальном справочнике возвращает приведенное наименование из глобального прайса по sname
procedure CheckFields;
Проверяет наличие колонки doc_pay_date в таблице docs, если ее нет, то создает
Проверяет наличие колонки credit_depth в таблице agents, если ее нет, то создает
procedure InitDocArchiveView;
Инициализация журнала документов
procedure CreateTrayIcon(n: Integer);
Создается значок менеджера и размещается в области уведомлений (трей)
procedure DeleteTrayIcon(n: Integer);
Удаляется значок менеджера из области уведомлений (трей)
procedure IconRepaint(index: integer; cp: string);
Обновление отображения значка менеджера в области уведомлений (трей)
function GetTmsParams: String;
передача параметров в тмс
текст структурированный в stringlist
procedure CheckIndices;
Процедура проверки активности индекса WARES_IDX1 для WARES
В случае отсутствия запускается хранимая процедура UPDPR_REPARWARES для исправления WARES. 
Делает индекс активным.
Procedure FillPartAttributes;
Инициализирует список полей, заполняемых через атрибуты
procedure FreeEvent(id: string = );
Освобождение всех событий
procedure RefreshMacroParams;
Инициализация макро-параметров. Определяются в таблице SP$PARAMS. В менеджере не используется.

unDmDocs

UndmReports

UnFrameAgents

UnFrameCustomDict

UnFrameCustomDoc

UnFrameCustomParams

UnFrameDocArchive

UnFrameDocContainer

UnFrameMake

UnFrameMoney

UnFramePrihodDoc

UnFramePrihodDocTreb

UnFrameUsers

UnFrameWareBase

UnfrmContainer

UnfrmDocManager

UnfrmGetCustomValue

UnfrmHint

UnfrmNotice

UnfrmReg

unMain

UnMain

UnViewUtils

unWindows

XmlDoc