Простейшие учетные функции СЭД Detrix

Перейти к содержанию

Начиная с версии 1.1, Detrix позволяет записывать значения в поля не только документов, но и справочников, что обеспечивает  реализацию простейших учетных функций в системе. Например, можно вести примитивный учет количества товаров на складе. Рассмотрим возможность такой реализации на этом примере в настоящей статье.

Дано

Справочник Товары. Помимо наименования товара, артикула, описания и прочих параметров, в справочнике имеется целочисленное поле Количество. В этом поле указывается количество товара на складе.

Задача

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

Реализация

Предполагаем, что в системе уже присутствует справочник Товары. В минимальной редакции он должен содержать два поля: строковое Название товара и целочисленное Количество. Если создание справочника в системе электронного документооборота Detrix вызывает у вас затруднения, ознакомьтесь с этой статьей.

Создаем  тип документа.  Добавляем поля:

  • Товар. Поле справочного типа. Из доступного списка справочников выбираем наши Товары, в качестве поля — Название.
  • Количество. Целочисленное поле.
  • Товар (количество). Предназначение этого поля станет понятным чуть позже, а пока укажите, что это поле справочного типа, в качестве справочника выберите Товары, а поля — Количество.

Можно сразу создать и шаблон. Нечто вроде вот такого:

<p>Выберите товар {Товар}</p>
<p>и введите сколько штук продано {Количество}</p>

Переходим на страницу маршрута. Нажимаем Добавить точку, затем Выполнить и выбираем действие WS-клиент. Выполняем настройку действия:

  • Адрес web-сервиса: http://адрес_вашего_сервера_Detrix/services/rec2ref/ws.php?wsdl
  • Устанавливаем галочку Требуется аутентификация и заполняем Логин и Пароль. Найти логин и пароль можно в файле settings.xml, расположенном в корневом каталоге Detrix в секции:
    <item name="ws_login" value="Логин"/>
    <item name="ws_password" value="Пароль"/>
  • Нажимаем Загрузить wsdl-файл.
  • Если все выполнено верно, будет загружен список методов. Выбираем метод vichest и заполняем параметры метода:
    • В PoleSpravochnika устанавливаем Товар (количество),
    • В Vichitaemoe выбираем Количество.

Сохраняем действие.

Остановимся немного подробнее на методе и его параметрах. Доступно три метода: vichest, slozhit и zapis. Эти методы обеспечивают соответственно вычитание из поля справочника, прибавление к нему или просто перезапись. Над каким полем проделывается операция (очевидно, что это должно быть поле числового типа) указывается в параметре PoleSpravochnika. Однако в списке этого параметра доступны поля нашего типа документа, а не справочника, в который будет осуществляться запись. Поэтому нам необходимо выбрать поле, которое является ссылкой на соответствующий справочник и его поле для записи. Таким полем в нашем примере является Товар (количество). Это поле справочного типа, ссылающееся на справочник Товары, а в качестве поля у него выбрано Количество. Т.е. поле, в которое нужно выполнить запись. И которое является уменьшаемым для нашего действия и метода вычитания. А вычитаемое, соответственно, указывается в параметре Vichitaemoe. И тут мы выбираем наше целочисленное поле, в котором пользователь укажет количество реализуемого товара.

Остался последний штрих для того, чтобы вся наша конструкция начала работать. Пользователь, создавая наш документ, заполняет поля Товар и Количество. Но не Товар (количество), которое мы даже не разместили в шаблоне. Т.е. в созданном документе поле Товар (количество) будет ссылаться на справочник Товары, на его поле Количество, но не на конкретную строку. Еще более конкретно на примере. Пользователь при создании документа выбрал товар Samsung Galaxy Tab 7.7. Т.е. выбрал конкретную строку справочника Товары. А в нашем поле Товар (количество) этого значения нет, поскольку пользователю мы это поле даже не предоставили.

Не спешите редактировать шаблон, вводя это поле, для того, чтобы пользователь мог выбрать Samsung Galaxy Tab 7.7 еще и в нем. Есть более гуманный по отношению к нашим сотрудникам способ.

Еще раз нажмите на Выполнить, и выберите действие Запись.  В качестве Поля, в которое будет произведена запись, укажите Товар (количество). А Значение пусть получается из Поля Товар. Сохраните действие и мышкой перетащите его выше созданного ранее WS-клиент. Сохраняйте маршрут.

Проверяем содеянное

Имеем вот такой товар:

Создали документ:

Любуемся на результат в справочнике после сохранения документа:

Перейти к содержанию

Задать вопрос

Copyright © 2011-2013 Андрей Суров При копировании материалов сайта гиперссылка Detrix.kz обязательна