Передача документов ГБ клиенту

Материал из GB wiki
Перейти к: навигация, поиск


Описание

Система удаленного заказа позволяет передавать клиенту документы ГБ. Документы передаются клиенту при получении прайс-листа и отображаются в Журнале.

Требования

Версии сервера 1.5.0.77 и старше
Версия клиента 3.1.8.13 и старше

Настройка

1. Настроить в ГБ схему нотификаций
  • Для клиента, которому надо будет передавать документы, создать схему нотификаций, в комментарии которой должна быть строка [RSERV NOTIFICATION]
Пример:
insert into notificationschemes(id, userid, objecttype, sendtype, comment) values (1020,15192,11,11,'[RSERV NOTIFICATION]')

где 1020 – код новой схемы, взятый по правилу: select max(id) from notificationschemes + 1; 15192 – код партнера, 
11 – тип объекта (в данном случае документ).
  • Описать условия, когда формируется нотификация (в данном случае, момент, когда документ готов для отправки клиенту)
Пример:
insert into notificationconds(scheme, fieldname, operation, datavalue) values(1020,'DocType','=','23')
insert into notificationconds(scheme, fieldname, operation, datavalue) values(1020,'Partner','=','15192')
insert into notificationconds(scheme, fieldname, operation, datavalue) values(1020,'Flag','>=','300')
insert into notificationconds(scheme, fieldname, operation, datavalue) values(1020,'Flag','<','400')
тут описано, что для документов типа 23, выписанных на партнера 15192 в момент, когда его состояние (поле Flag) станет больше 300, 
но меньше 400, надо сформировать нотификацию по схеме 1020 (ид новой схемы) .
2. Настроить сервер
  • Создать в папке данных RServ (обычно ..\Dat\) файл DocDesc.dat с описанием шаблонов передаваемых документов.
    Формат файла аналогичен формату ини-файла. Шаблон для каждого документа состоит из двух секций: Header и Lines.
    Header
    Описание полей, входящих в шапку документа
    Lines
    Колонки документа.
    Так как существует возможность передачи документов разного типа, то при описании шаблонов необходимо в названии секции
    указывать тип документа (Header[код типа документа] или Lines[код типа документа] соответственно).
Пример файла:
[Header23]
date[Дата,fmDate]=DocDate
name[Название,fmName+40]=DocNumber
[Lines23]
Articul=Articul
Name[Наименование,fmName+80]=Articul.Name
Pack=Pack
Quantity=Quantity
PriceForOne[Цена за ед,fmAmount]=PriceList
PriceNds[Цена с НДС,fmAmount]=Price 
Замечания:
Для включения в тело документа стандартной колонки достаточно указать ее название: Articul=Articul. Дополнительные колонки  
необходимо описывать полностью: Name[Наименование,fmName+80]=Articul.Name 

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

  • Id
  • Firm
  • OperationDate
  • Kind
  • TotalSum
  • Currency
  • CurrRate
  • Partner
  • Agent
  • Stock
  • Imported_Id
  • Flag
  • DocType
  • DocNumber
  • DocDate
  • DocCurrency
  • DocCurrRate
  • Prev_DocType
  • Prev_DocNumber
  • Prev_DocDate
  • Scheme
  • Contract
  • ExpectedDate
  • Heap

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

  • Id – код товарной строки
  • Document – код документа
  • Articul – код товара
  • Quantity - количество
  • Price – цена с ндс
  • MaxPrice – не используется
  • PriceList – цена без ндс
  • Contents – количество штук в упаковке
  • Pack – код упаковки
  • Heap – не используется