ТМС:Менеджер — различия между версиями
Материал из wiki.standart-n.ru
Vlasova (обсуждение | вклад) (→cfDB) |
Vlasova (обсуждение | вклад) (→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
Содержание
- 1 USES
- 1.1 cfDB
- 1.2 cfFileUtils
- 1.3 cfTMSIDERegAdvTMSPallete
- 1.4 cfTMSIDERegcfPallete
- 1.5 cfTMSIDERegdxPallete
- 1.6 cfTMSIDERegEmbeddedWBPallete
- 1.7 cfTMSIDERegGBPallete
- 1.8 cfTMSIDERegIBPallete
- 1.9 cfTMSIDERegStandartPalletes
- 1.10 dxCntner
- 1.11 dxDBCtrl
- 1.12 dxDBGrid
- 1.13 dxDBTL
- 1.14 dxExEdtr
- 1.15 dxTL
- 1.16 dxTLClms
- 1.17 IDERegAdoPalette
- 1.18 IDERegDBPalette
- 1.19 NEED
- 1.20 UnDeclare
- 1.21 UnDM
- 1.22 unDmDocs
- 1.23 UndmReports
- 1.24 UnFrameAgents
- 1.25 UnFrameCustomDict
- 1.26 UnFrameCustomDoc
- 1.27 UnFrameCustomParams
- 1.28 UnFrameDocArchive
- 1.29 UnFrameDocContainer
- 1.30 UnFrameMake
- 1.31 UnFrameMoney
- 1.32 UnFramePrihodDoc
- 1.33 UnFramePrihodDocTreb
- 1.34 UnFrameUsers
- 1.35 UnFrameWareBase
- 1.36 UnfrmContainer
- 1.37 UnfrmDocManager
- 1.38 UnfrmGetCustomValue
- 1.39 UnfrmHint
- 1.40 UnfrmNotice
- 1.41 UnfrmReg
- 1.42 unMain
- 1.43 UnMain
- 1.44 UnViewUtils
- 1.45 unWindows
- 1.46 XmlDoc
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. В менеджере не используется.