Справочник функций ПРОФ версии

14.4. Расширение функциональных возможностей Складского модуля силами пользователя

Расширение функциональных возможностей Складского модуля силами пользователя

14.4.1. Блокировка корректируемых документов

Блокировка корректируемых документов

По умолчанию документ, взятый на коррекцию одним пользователем, не блокируется для других пользователей. То есть допустима одновременная коррекция одного документа несколькими пользователями, в базе останется версия документа, сохраненная последней.

Есть версия (собирается по запросу пользователя), которая блокирует загрузку документа из реестра, если документ взят на коррекцию другим пользователем. Администратор указывает время, на которое пользователь может заблокировать запись. В случае снятия задачи при первом входе будут очищены все блокировки. Блокирующие пользователи различаются по входному идентификатору и компьютеру, с которого был осуществлён вход.

Для функционирования монопольного доступа необходимо наличие в базе дополнительной таблицы, которая появляется после выполнения на базе схемы из файла ФолиоБлокировка.scm.После этого в главном меню появится новый пункт меню: Главное менюУстановкинастройканастройка монопольного доступа к документу, который открывает окно настройки и мониторинга блокировок. В этом окне необходимо активизировать установку Включить блокирование и указать максимальное время блокирования, на которое пользователь может заблокировать запись. В случае снятия задачи при первом входе будут очищены все блокировки.

Окно мониторинга блокировок содержит реестр заблокированных документов с указанием имени пользователя, его компьютера и времени начала блокировки. При необходимости любой документ может быть разблокирован системным администратором. При помощи окна Настройка блокировок администратор может указать время «устаревания» блокировок.

14.4.2. Модули расширения для складского модуля

Модули расширения для складского модуля

Для специальной обработки текущего документа в реестре (и складских, и платежных документов) можно писать скрипты на языке VB_Script. Написанные пользователем (или заказанные у разработчиков Фолио) скрипты регистрируются в программе как модули расширения разных типов:

  • для обработки текущего документа в реестре складских документов (jobtype=”scldocs”),
  • для обработки всех документов текущего отбора в реестре складских документов (jobtype=”scldocs”),
  • для обработки текущего платежного документа (jobtype=”platdocs”),
  • независимо от документа (jobtype=”sim”) .

Модули, первым символом названия которых (jobtitle=’#...’) стоит символ диеза («решётка», «#»), обрабатывают все документы реестра текущего отбора. Остальные модули предназначены для обработки текущего документа реестра.

Для регистрации модулей расширения необходимо наличие в рабочей папке библиотеки wsfrun.dll.

Модуль расширения – это отдельная программа на языке VBScript, файл модуля должен быть помещен в папку SCRIPTS рядом с исполнительным модулем складской системы (то есть в одной папке с Winfs_cs.exe).

Пункт меню Главное менюУстановкиРегистрация модулей расширения позволяет выбрать и зарегистрировать нужную программу из списка предложенных - список соответствует содержанию папки SCRIPTS.

Регистрация модуля расширения происходит путём «перевода» нужных модулей из верхней части окна (Все модули расширения) в нижнюю часть (Зарегистрированные модули расширения) или обратно путём нажатия стрелок «вверх» и «вниз». Затем нажать кнопку Сохранить.

После регистрации программ появляется соответствующее меню на кнопке Обработка в реестре складских или платежных документов (в зависимости от типа регистрируемых модулей). Если меню не обновилось, закройте открытый реестр и откройте заново.

Для обработки каждого из реестров можно зарегистрировать несколько модулей обеспечивающих разный функционал. Для разработчиков модулей расширения есть возможность после выполнения модуля расширения возвращать признак обновления реестра и Unicum_Num для положения курсора.

Складские модули расширения, входящие в стандартную поставку: 

  • Расчет комплектующих. При наличии в папке SCRIPTS файла Complect.wsf - в окне регистрации модулей расширения появляется пункт Формирование счета из комплектующих. После регистрации, этот пункт меню появится на кнопке Обработка в реестре счетов.

    При запуске этого пункта меню на основании текущего документа в реестре создается новый неучитываемый счет с таким же номером и с товарами, являющимися комплектующими для товаров исходного документа. Допустима вложенность комплектов, то есть комплектующее может быть в свою очередь готовым изделием из других комплектующих. Но не допустима цикличность, когда в состав комплекта входит товар, имя которого совпадает с названием своего же комплекта. Таким образом, процедура корректно отрабатывает в том случае, если справочник комплектов заполнен без цикличности вхождения в комплект, то есть в состав комплекта не входит сам комплект и список комплектующих содержит только положительные количества. Количества в создаваемом документе рассчитываются исходя из количеств готового изделия в исходном документе, цены - нулевые.

  • Клиент-банк через модули расширения. При наличии в папке SCRIPTS файла test_cb.wsf - в окне регистрации модулей расширения появляется пункт Импорт выписки клиент-банка. После регистрации, этот пункт меню появится в меню Установки. Этот пункт меню запускает программу приема данных о платежах из банка на основе данных, представленных банком в виде файла. Каждый банк может иметь свой формат передаваемых данных. Для каждого формата данных нужен свой "разборщик" данных. В стандартной поставке - это скрипт test_cb.wsf, который разбирает формат, представленный для примера в файле 709far4. Файл данных можно переименовать, его имя и ПОЛНЫЙ путь (в кавычках) необходимо указать в тексте скрипта-разборщика (test_cb.wsf) в переменной File_path (5-ая строка). Для корректного разбора данных из файла - в настройках Windows в качестве символа-разделителя в числах нужно выбрать точку.

    После разбора данных работает стандартная программа создания платежей. Тип платежа (приходный или расходный) определяется по типу организации, то есть зависит от того, в качестве кого выступает 'Моя' организация - в качестве плательщика или в качестве получателя. ('Моей' организацией является организация с типом 'Я', то есть находящаяся на странице 'Мои организации' в Справочнике).

    Поиск организации в Справочнике организаций осуществляется по значению поля Счет (_partner.SCT_B_USER). Если по счету в Справочнике Организаций не найдена ни одна организация, или ни одна из организаций платежа не является в складской системе 'моей' - платежный документ игнорируется. Если одна из организаций по счету является "моей' (плательщик или получатель)- принимается решение, какое это платежное поручение - приходное или расходное. Если обе организации (плательщик и получатель) являются 'моими', то по умолчанию принимается что это - расходный платеж. Если по Счету организация найдена - в документ попадают реквизиты из файла данных, а краткое имя (и полное, если нет в файле) - из Справочника Организаций. Если номер документа в файле данных содержит символы, он записывается в поле Основание платежа, а в поле Номер платежного документа заносится 1.

    Если одна из организаций (внешняя) не найдена в Справочнике, платеж принимается, а в Справочник Организаций добавляется новая карточка с заполнением реквизитов из файла. Если полного имени в файле нет - в карточку вместо полного имени подставляется Номер банковского счета. Краткое имя формируется усечением полного. Если программа не смогла создать краткое имя (например, нарушается уникальность) - платеж игнорируется и выдается соответствующее сообщение.

  • Перевод неучитываемого счета в учитываемый. С помощью программы Администратора необходимо выполнить на базе скрипт i_rzv_neuch_bnal.sql.

    Поместить модуль расширения Разбиение и подстановка безнал_цен.wsf в папку SCRIPTS и зарегистрировать его с помощью интерфейса складского модуля. В реестре счетов на кнопке Обработка появится пункт Разбиение неуч.счета и подстановка безнал.цен в учитыв. (название пункта можно изменить в тексте VB-скрипта). Действие модуля (только для неучитываемого счета):

    • Из текущего неучитываемого счета создается учитываемый счет на свободный остаток и неучитываемый счет на отсутствующий остаток товара.
    • При переносе товаров в учитываемый счет подставляется отпускная безналичная цена из Справочника Товаров.
    • Номер учитываемого счета будет совпадать с номером исходного неучитываемого.
    • Если при переводе неучитываемого счета в учитываемый уже существует учитываемый счет с таким же номером и организациями, новый счет не создается, а товар добавляется в существующий.
  • Выгрузка Справочника Товаров в файл формата DBF. Модуль расширения Exp_Artc.wsf регистрируется как модуль, запуск которого не зависит от конкретного документа или реестра, то есть как общий тип модулей расширения. Пункт меню Экспорт товаров (после регистрации модуля расширения) появится :Главное менюУстановкиМодули расширения.

    Для эксорта необходимо войти в один склад. Работает отбор по группе товара. Запрашивается имя файла и путь для сохранения. Выгружаются:

    • Cod_Artic – артикул
    • Name_Artic – наименование
    • Uchet_Cena – текущая учетная цена
    • Cena_Artic – отпускная базовая цена (руб)
    • Cena_BzNal – отпускная б/н цена (руб)
    • NDS_Artic – процент налога
    • NGroup_TVR – группа товара
    • NGroup_TV2 – подгруппа 2-ого уровня
    • Edn_v_Upak – фасовка (количество в упаковке)
    • Edin_Izmer – единица измерения
    • Dop3_Artic – описание
    • Dop1_Artic - примечание

14.4.3. Расчетные поля реестров и справочников

Расчетные поля реестров и справочников

К существующим видимым колонкам основных реестров и справочников пользователь сам может добавить свои расчетные колонки, написав формулу вычисления или SQL-запрос, используя значения существующих колонок реестра. Добавленные пользователем колонки появятся в общем списке колонок. Расчетные поля можно добавить в:

  • реестр складских документов,
  • товарную часть реестра,
  • справочник партий,
  • справочник товаров (таблица товаров и подтаблица партий),
  • справочник организаций,
  • журнал движения товаров,
  • мини-отчет (расчет только из существующих полей отчета),
  • реестр платежных документов,
  • товарную таблицу платежей,
  • окно ввода складского документа.

Чтобы пользователю был доступен редактор расчетных полей, надо с помощью программы Администратора добавить в базу таблицу Scl_ConfigCalc, выполнив на базе схему РасчетныеПоля.scm (в новых версиях инсталляций этот скрипт выполняется автоматически по умолчанию).

В файле клиентских мест cursclad.ini установить секцию:[CalcDesigner] visible=1 В Установках Главного меню появится пункт Расчетные поля реестра.

Все настроенные поля сначала появляются в общем списке невидимых колонок (окно реестра после настройки нужно открыть заново). Невидимые расчетные колонки не вычисляются. Для всех запрограммированных расчетных колонок есть общий выключатель. Существует два типа вычисляемых полей:

  1. Вычисляемые с помощью SQL. В формуле пишется SQL-запрос, который должен вернуть одно поле. Обращение к полям основной таблицы осуществляется в форме :Имя_Поля. (например, колонка
    Select :Sum_Por*2
    покажет удвоенную сумму документа). Обратите внимание, что поля основной таблицы, используемые в SQL-запросе, должны быть настроены как ВИДИМЫЕ колонки реестра. Если в расчете участвуют колонки, которые не должны быть видимыми, нужно в запросе указать имя основной таблицы с помощью макроса <TableName> или %TableName% (первый вариант предпочтительнее), в этом случае символ двоеточие ':' перед именем поля не нужен. Например:
    Select Sum_Por*2 FRom <TableName> 
          where Unicum_Num=:Unicum_Num

    Примечание

    если вы пишете сложный SQL-запрос с объявлением переменных, вместо символа @ используйте два знака вопроса ?? (символ @ уже используется для других технических целей).
  2. Вычисляемые с помощью формул. В этом случае пишется =Формула. Обращение к полям основной таблицы осуществляется по имени без символа двоеточия ':'. (Например, =Sum_Por*2). Поля, используемые в формуле, должны быть видимыми.

Некоторые примеры расчетных полей приведены в Книге3. Например, ДоговорСО.sql - скрипт, добавляющий в Справочник Организаций расчетную колонку Договор - в колонке появляется <номер договора\доп.номер договора> с максимальной датой. Имеется в виду дата подписания договора, независимо от срока действия.

 о фирме   новости   программы   цены   демо версии   дилеры   услуги   клиентам   дилерам   партнеры   форум   контакты   карта сайта   поиск   домой 
Страничка клиента
Поддержка
развернуть/свернуть
развернуть/свернуть
ЧаВо
Форум
Обучение
Пресс-релизы
Работать on-line
Заказать показ
Загрузить демо-версию

 о фирме | новости | программы | демо версии | цены | где купить | клиентам | дилерам | партнеры | карта сайта | поиск | домой 

Схема
проезда

© ООО "ФОЛИО-2000"

E-Mail: mail@folio.ru; SKYPE: ooofolio. Присоединяйтесь:

125315, Москва, ул. Асеева, 8, офис 23. (метро Аэропорт, Сокол)
тел/факс: 8(499)151-7738, 151-5760, 151-5553, 151-4401

домой