Передача документов ГБ клиенту
Материал из GB wiki
Версия от 10:15, 14 декабря 2010; Iv (обсуждение | вклад)
Описание
Система удаленного заказа позволяет передавать клиенту документы ГБ. Документы передаются клиенту при получении прайс-листа и отображаются в Журнале.
Требования
- Версии сервера 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 – не используется