По умолчанию документ, взятый на коррекцию одним пользователем, не блокируется для других пользователей. То есть допустима одновременная коррекция одного документа несколькими пользователями, в базе останется версия документа, сохраненная последней.
Есть версия (собирается по запросу пользователя), которая блокирует загрузку документа из реестра, если документ взят на коррекцию другим пользователем. Администратор указывает время, на которое пользователь может заблокировать запись. В случае снятия задачи при первом входе будут очищены все блокировки. Блокирующие пользователи различаются по входному идентификатору и компьютеру, с которого был осуществлён вход.
Для функционирования монопольного доступа необходимо наличие в базе дополнительной таблицы, которая появляется после выполнения на базе схемы из файла ФолиоБлокировка.scm
.После этого в главном меню появится новый пункт меню:
→ → → , который открывает окно настройки и мониторинга блокировок. В этом окне необходимо активизировать установку и указать максимальное время блокирования, на которое пользователь может заблокировать запись. В случае снятия задачи при первом входе будут очищены все блокировки.
Окно мониторинга блокировок содержит реестр заблокированных документов с указанием имени пользователя, его компьютера и времени начала блокировки. При необходимости любой документ может быть разблокирован системным администратором. При помощи окна администратор может указать время «устаревания» блокировок.
Для специальной обработки текущего документа в реестре (и складских, и платежных документов) можно писать скрипты на языке VB_Script. Написанные пользователем (или заказанные у разработчиков Фолио) скрипты регистрируются в программе как модули расширения разных типов:
Модули, первым символом названия которых (jobtitle=’#...’) стоит символ диеза («решётка», «#»), обрабатывают все документы реестра текущего отбора. Остальные модули предназначены для обработки текущего документа реестра.
Для регистрации модулей расширения необходимо наличие в рабочей папке библиотеки wsfrun.dll
.
Модуль расширения – это отдельная программа на языке VBScript, файл модуля должен быть помещен в папку Winfs_cs.exe
).
Пункт меню
→ → позволяет выбрать и зарегистрировать нужную программу из списка предложенных - список соответствует содержанию папки .Регистрация модуля расширения происходит путём «перевода» нужных модулей из верхней части окна ( ) в нижнюю часть ( ) или обратно путём нажатия стрелок «вверх» и «вниз». Затем нажать кнопку .
После регистрации программ появляется соответствующее меню на кнопке
в реестре складских или платежных документов (в зависимости от типа регистрируемых модулей). Если меню не обновилось, закройте открытый реестр и откройте заново.Для обработки каждого из реестров можно зарегистрировать несколько модулей обеспечивающих разный функционал. Для разработчиков модулей расширения есть возможность после выполнения модуля расширения возвращать признак обновления реестра и Unicum_Num для положения курсора.
Складские модули расширения, входящие в стандартную поставку:
Расчет комплектующих. При наличии в папке файла Complect.wsf
- в окне регистрации модулей расширения появляется пункт . После регистрации, этот пункт меню появится на кнопке в реестре счетов.
При запуске этого пункта меню на основании текущего документа в реестре создается новый неучитываемый счет с таким же номером и с товарами, являющимися комплектующими для товаров исходного документа. Допустима вложенность комплектов, то есть комплектующее может быть в свою очередь готовым изделием из других комплектующих. Но не допустима цикличность, когда в состав комплекта входит товар, имя которого совпадает с названием своего же комплекта. Таким образом, процедура корректно отрабатывает в том случае, если справочник комплектов заполнен без цикличности вхождения в комплект, то есть в состав комплекта не входит сам комплект и список комплектующих содержит только положительные количества. Количества в создаваемом документе рассчитываются исходя из количеств готового изделия в исходном документе, цены - нулевые.
Клиент-банк через модули расширения. При наличии в папке файла 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
в папку и зарегистрировать его с помощью интерфейса складского модуля.
В реестре счетов на кнопке появится пункт (название пункта можно изменить в тексте VB-скрипта). Действие модуля (только для неучитываемого счета):
Выгрузка Справочника Товаров в файл формата DBF.
Модуль расширения Exp_Artc.wsf
регистрируется как модуль, запуск которого не зависит от конкретного документа или реестра, то есть как общий тип модулей расширения. Пункт меню (после регистрации модуля расширения) появится : → → .
Для эксорта необходимо войти в один склад. Работает отбор по группе товара. Запрашивается имя файла и путь для сохранения. Выгружаются:
NDS
_Artic – процент налога
К существующим видимым колонкам основных реестров и справочников пользователь сам может добавить свои расчетные колонки, написав формулу вычисления или SQL-запрос, используя значения существующих колонок реестра. Добавленные пользователем колонки появятся в общем списке колонок. Расчетные поля можно добавить в:
Чтобы пользователю был доступен редактор расчетных полей, надо с помощью программы Администратора добавить в базу таблицу Scl_ConfigCalc, выполнив на базе схему РасчетныеПоля.scm
(в новых версиях инсталляций этот скрипт выполняется автоматически по умолчанию).
В файле клиентских мест cursclad.ini
установить секцию:[CalcDesigner]
visible
=1
В Установках Главного меню появится пункт .
Все настроенные поля сначала появляются в общем списке невидимых колонок (окно реестра после настройки нужно открыть заново). Невидимые расчетные колонки не вычисляются. Для всех запрограммированных расчетных колонок есть общий выключатель. Существует два типа вычисляемых полей:
Select :Sum_Por*2покажет удвоенную сумму документа). Обратите внимание, что поля основной таблицы, используемые в SQL-запросе, должны быть настроены как ВИДИМЫЕ колонки реестра. Если в расчете участвуют колонки, которые не должны быть видимыми, нужно в запросе указать имя основной таблицы с помощью макроса <TableName> или %TableName% (первый вариант предпочтительнее), в этом случае символ двоеточие ':' перед именем поля не нужен. Например:
Select Sum_Por*2 FRom <TableName> where Unicum_Num=:Unicum_Num
Некоторые примеры расчетных полей приведены в Книге3.
Например, ДоговорСО.sql
- скрипт, добавляющий в Справочник Организаций расчетную колонку Договор - в колонке появляется <номер договора\доп.номер договора> с максимальной датой. Имеется в виду дата подписания договора, независимо от срока действия.
|
|
|