Правила написания и подключения к базовому варианту Систем дополнительных функций обработки данных и печати дополнительных отчетов. I. Программы, реализующие дополнительные функции обработки данных, имеют наименование “EF_*.*”. Для регистрации и запуска из системы данные программы должны находиться в каталоге FOX в виде .APP или .FXP файла. II. Программы, реализующие дополнительные отчеты, имеют наименование “ER_*.*”. Для регистрации и запуска из системы данные программы должны находиться в каталоге FOX в виде .APP или .FXP файла. III. Программы, реализующие дополнительные функции обработки данных и отчеты, должны быть написаны по следующим правилам: III.1.Файл дополнительной функции или отчета должен иметь следующую структуру: LParameters nOption, cOption, oControl Do Case Case nOption = 1 … EndCase Return Параметры запуска и возвращаемые значения для функций, вызываемых из разделов системы, описаны в таблице №1. Параметры запуска и возвращаемые значения функций, вызываемых из главного меню системы, аналогичны параметрам функций, вызываемых из разделов системы. За исключением вызова с параметром nOption = 1. Для дополнительных функций, вызываемых из главного меню, сOption должно быть строкой, а не массивом (см. Таблица №1), и содержать название дополнительной функции. III.2.Функция или отчет должны обеспечивать корректную работу системы в сетевом режиме, т.е. проверять записи и файлы на блокировки, не оставлять после выхода заблокированные записи или файлы. III.3.При подключении дополнительной функции или отчета к системе, находящейся в эксплуатации, процедура должна быть откомпилирована в Microsoft Visual FoxPro 8.0. IV. Для того, чтобы функции и отчеты использовались только в том разделе, для которого они предназначены, в системе вводится сквозная нумерация разделов по следующему принципу: _XYZZ - идентификатор раздела, где X - принадлежность раздела (0 - Общие разделы, 1 – “ПАРУС – Бухгалтерия”, 2 – “ПАРУС - Заработная плата”, 3 – “ПАРУС - Торговля и склад”, 4 – “ПАРУС Менеджмент и Маркетинг”, 5 – “ПАРУС – Консолидация”, 7 – “ПАРУС – Персонал”, F – “ПАРУС – Общепит”, G – “ПАРУС - Кассовые аппараты”, H – “ПАРУС - Гостиничное хозяйство”) Y - пункт меню (1 – Документы, 2 – Учет, 3 - Оборотные ведомости, 4 – Функции, 5 Отчеты (Печать), 6 – Остатки, 7 – Словари) ZZ - уникальный номер Идентификаторы разделов, существующих в данный момент в системе, приведены в таблицах №3 и №4. Таблица №1. Параметры запуска nOption 1 2 3 Описание Входные параметры: nOption, cOption, oControl nOption – равен 1 cOption – переопределяется в результате выполнения данной процедуры oControl – в данной процедуре не задействовано Цель процедуры: задать параметр cOption. cOpion – двумерный массив размерностью [n, 3], где n – количество дополнительных отчетов/функций, которые реализованы в данном файле. cOption[1, 1] = "REP_EN" – тэг доп. отчета/функции; cOption[1, 2] = "Who Am I..." – наименование доп. отчета/функции; cOption[1, 3] = "_1202;_1104" – через ";" список разделов, из которых можно вызвать доп. отчет/функцию. Если пустой – доп. отчет/функция доступна во всех разделах. Выходные параметры: переопределенный cOption используется системой. Место вызова системой: Для дополнительных функций вызывается при добавлении/исправлении записей в разделе системы Словари Дополнительные функции. Для дополнительных отчетов вызывается при добавлении/исправлении записей в разделе системы Словари Шаблоны документов. Для формирования списка дополнительных отчетов/функций, доступных в выбранном разделе. Примечание: Если данная доп. функция будет вызываться из главного меню, то параметр сOption должен быть строковой переменной (а не массивом), содержащей наименование доп. функции. (Определение места вызова функции происходит при nOptoin = 3) Входные параметры: nOption, cOption, oControl nOption – равен 2 cOption – переопределяется в результате выполнения данной процедуры oControl – ссылка на объект (раздел), из которого была вызвана данная процедура Цель процедуры: Выполнить задачи, возложенные на данный доп. отчет/функцию. Выходные параметры: переопределенный cOption используется системой (значения параметра описаны в таблице №2). Место вызова системой: запускается при выборе в меню данного доп. отчета/функции. Входные параметры: nOption, cOption, oControl nOption – равен 3 cOption – переопределяется в результате выполнения данной процедуры oControl – в данной процедуре не задействовано Цель процедуры: определить, откуда будет вызываться данная доп. 9 функция (из главного меню или из раздела системы). Выходные параметры: переопределенный cOption используется системой. В параметре cOption возвращается признак того, откуда будет вызываться данная доп. функция. Если сOption = "дополнител", то функция будет вызываться из главного меню, в противном случае из раздела системы. Пример вызова из главного меню: …. Case nOption = 3 Local cPopup Cpopup = "дополнител" If Empty(cOption) cOption = cPopup Else If not (cOption == cPopup) cOption = "" EndIf EndIf Return …. Место вызова системой: вызывается при входе в систему во время формировании главного меню. Входные параметры: nOption, cOption, oControl nOption – равен 9 cOption – переопределяется в результате выполнения данной процедуры oControl – ссылка на объект (раздел), из которого была вызвана данная процедура Цель процедуры: сформировать строку-макрос, результатом выполнения которой будет логическое выражение (логическое выражение определяет возможность выполнения данного доп. отчета/функции). Выходные параметры: переопределенный cOption используется системой. В параметре cOption возвращается строка-макрос, результатом выполнения которой будет логическое выражение, определяющее возможность выполнения данного доп. отчета/функции. Пример: …. Case nOption = 9 cOption = “DATE() = {^2000.01.01}” Return …. Выполнение такого доп. отчет/функции будет возможно только 1 января 2000 года. Место вызова системой: вызывается при формировании всплывающего меню раздела (при нажатии на правую кнопку мыши в таблице какого либо раздела). Примечание: Для дополнительных отчетов: после выполнения данной процедуры система проверяет, выбрана ли активная запись на форме, потом выполняет макроподстановку параметра cOption. Если обе проверки прошли успешно, данный доп. отчет будет доступен для исполнения. Для дополнительных функций: после выполнения данной процедуры система проверяет, если cOption не пустое, то выполняется макроподстановка параметра cOption. В противном случае проверяется, выбрана ли активная запись на форме. Если выполненная проверка была успешной, то данная доп. функция будет доступна для исполнения. 1 – 30 Зарезервированы системой для дальнейшей разработки (за исключением дополнительных возможностей. выше описанных) ВНИМАНИЕ! Использование этих разделов может привести к нарушению работоспособности системы. 30 - … Могут использоваться разработчиками доп. отчетов/функций для реализации необходимых им функций. Таблица №2. Возвращаемые значения сOption в результате исполнения функции с параметром nOption = 2 cOption 0 1 2 3 Реакция системы Ничего не делаем Обновление текущей записи Обновление курсора Обновление всей формы Таблица № 3. Идентификаторы разделов для регистрации дополнительных функций Наименование раздела Наименования и курсы валют Организации и Ответственные лица Общие понятия Внутренние документы Входящие налоговые накладные Платежные документы План счетов Журнал учета хозяйственных операций Смета расходов Малоценные необоротные активы (МНА) Юридические обязательства Финансовые обязательства Инвентарная картотека Расчеты с дебиторами и кредиторами Оборотная ведомость по счетам Оборотная ведомость товарно-материальных ценностей Движение средств по аналитическим счетам Дебиторско-кредиторская задолженность Остатки средств по счетам Остатки материальных ценностей План счетов Лицевые счета Выплаченная\невыплаченная зарплата Сдельная оплата труда Перечисление в банк Идентификатор раздела _0701 _0702 _0703 _1101 _1102 _1104 _1703 _1201 _1202 _1203 _1204 _1208 _1205 _1303 _1301 _1302 _1305 _1601 _1602 _1603 _1703 _2100 _2200 _2330 _2340 Приказы Свод ведомостей Дополнительные виды оплат Исходящие налоговые накладные Перечень пропусков Видеотека Договорные документы Акты выполненных работ Журнал платежей Клиенты и потенциальные клиенты Маркетинг и Сбыт Маркетинговые акции Журнал обращений Журнал учета рабочего времени Журнал учета рекламаций Журнал сервисного обслуживания Журнал доставки Поступающие на работу Первичные отчеты Аналитические отчеты Формы отчетов Сводные отчеты Проверки отчетов Сроки представления Состав отчетов Образцы приказов Образцы отчетов Статистические настройки Списки статнастроек и реквизиты Дополнительная функция, привязанная к полю диалоговой формы. Закрепление функции за полем выполняется с помощью формы "Свойства поля", вызываемой по Ctrl+DblClick на подписи поля. _2350 _2360 _2999 _3103 _4001 _4002 _4101 _4103 _4106 _4201 _4202 _4203 _4205 _4206 _4207 _4208 _4209 _4708 _5123 _5128 _5221 _5223 _5326 _5329 _5325 _7606 _7607 _7609 _7610 _0000 Таблица № 4. Идентификаторы разделов для регистрации дополнительных отчетов Наименование раздела Наименования и курсы валют Организации, МОЛ Внутренние документы Входящие налоговые накладные Платежные документы Хозяйственные операции Смета расходов Картотека МНА Юридические обязательства Инвентарная картотека Расчет износа основных средств Общая история операций Финансовые обязательства Идентификатор раздела _0701 _0702 _1101 _1102 _1104 _1201 _1202 _1203 _1204 _1205 _1206 _1207 _1208 Движение средств по счетам Движение материальных ценностей Расчеты с дебиторами и кредиторами Движение средств в разрезе проводок Движение средств по аналитическим счетам Оборотный баланс Кассовая книга Вкладной лист кассовой книги Анализ счета Накопительные аналитические данные к счетам Журнал–Главная Мемориальные ордера Сводные мемориальные ордера Книги учета ассигнований Карточки аналитического учета Инвентаризационные ведомости Ведомости аналитического учета Справка о движении денежных средств по счету Главная книга Книга учета хозяйственных операций Дебиторская и кредиторская задолженность Остатки средств по счетам Остатки материальных ценностей План счетов Номенклатор 5–й мемориальный ордер Сводная ведомость Форма № 8ДР Персонифицированный учет Сводные, итоговые Отчетные формы Форма № 1ДФ Лицевые счета Расходный кассовый ордер Справки о доходах Расчетно–платежная ведомость Ведомости распределения Списки и перечни Выплаченная/невыплаченная зарплата Справки о доходах Расчетно–платежная ведомость Сдельная оплата труда Перечисления в банк Приказы Свод ведомостей Настройка видов оплат Счета на оплату Накладные на отпуск Исходящие налоговые накладные Счета, накладные: список спецификаций Приход товара Возврат от покупателей Внутреннее перемещение _1301 _1302 _1303 _1304 _1305 _1502 _1503 _1504 _1505 _1506 _1507 _1508 _1509 _1510 _1511 _1512 _1513 _1514 _1515 _1517 _1601 _1602 _1603 _1703 _1704 _2001 _2002 _2003 _2004 _2005 _2006 _2007 _2100 _2101 _2102 _2151 _2152 _2153 _2200 _2201 _2251 _2330 _2340 _2350 _2360 _2610 _3101 _3102 _3103 _3104 _3105 _3106 _3107 Товарные запасы Цены реализации Перечень пропусков Видеотека Договорные документы Акты выполненных работ Журнал платежей Клиенты и потенциальные клиенты Маркетинг и Сбыт Маркетинговые акции Журнал обращений Журнал учета рабочего времени Журнал учета рекламаций Журнал сервисного обслуживания Журнал доставки Поступающие на работу Сотрудники Контактные лица Отпуска Штатное расписание Приказы Списочные приказы Ведомости движения сотрудников Стаж работы Список детей для пособий Отчет пользователя Статистические отчеты Словари зарплаты и кадров Меню–Требования Заказы Счета Калькуляционные карты Справочник продуктов питания Журнал регистрации приготовленных блюд Типовые меню Артикулы кассы Продажи артикулов Товарный отчет по реализации Отчет пользователя Отчет пользователя Данные о местах Картотека клиентов Журнал вопросов Журнал учета проживающих Кассовый отчет Ведомость движения номеров Ведомость движения номеров Отчет об оплате за проживание Отчет об оплате за дополнительные услуги _3201 _3202 _4001 _4002 _4101 _4103 _4106 _4201 _4202 _4203 _4205 _4206 _4207 _4208 _4209 _4708 _4709 _4710 _7301 _7501 _7502 _7503 _7505 _7506 _7508 _7509 _7510 _7610 _F003 _F004 _F005 _F160 _F161 _F162 _F164 _G501 _G502 _G503 _G504 _G505 _H301 _H302 _H303 _H401 _H402 _H403 _H404 _H405 _H406