ТМС:Менеджер

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск

USES

unFrameCustomDict

unMain

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);
function CreatePreviewFile(pict_id: int64): boolean;
procedure UpdateUserMMBSH;
function GetGoodNameID(sname: string): int64;
function UserParamsByID(UserID: integer): TcfZip;
function CopyGridParams(gb: TCustomdxDBTreeListControl; gbName, gbFileName: String; LoadAll: integer = 0): boolean;
function GetGoodName(svalue: string): string;
procedure CheckFields;
procedure InitDocArchiveView;
procedure CreateTrayIcon(n: Integer);
procedure DeleteTrayIcon(n: Integer);
procedure IconRepaint(index: integer; cp: string);
function GetTmsParams: String;
procedure CheckIndices;
Procedure FillPartAttributes;
procedure FreeEvent(id: string = );
procedure RefreshMacroParams;

cfSelectEdit

need

cfdxUtils