Импорт данных ID115 — различия между версиями
Материал из GB wiki
Alexey (обсуждение | вклад) |
Alexey (обсуждение | вклад) |
||
Строка 40: | Строка 40: | ||
=====Пример импорта справочника партнёров===== | =====Пример импорта справочника партнёров===== | ||
+ | В примере партнёры импортируются в одну папку. | ||
'''ProcessCommand'''( | '''ProcessCommand'''( | ||
0, | 0, | ||
Строка 55: | Строка 56: | ||
`Heap.@Address` : `fld6`, | `Heap.@Address` : `fld6`, | ||
`ExtType` : `0`, | `ExtType` : `0`, | ||
+ | `ExtId` : `fld2`, | ||
+ | `Depot` : 209 | ||
+ | ] | ||
+ | ], | ||
+ | `ID115` | ||
+ | ), | ||
+ | '''WaitForChildForms()''' | ||
+ | |||
+ | =====Пример импорта справочника товаров===== | ||
+ | В примере товары импортируются в разные папки. | ||
+ | '''ProcessCommand'''( | ||
+ | 1, | ||
+ | [ | ||
+ | `ParentForm` : `launch`, | ||
+ | `SaveImmediate` : `Y`, | ||
+ | `ImportDs` : `dsTXT`, | ||
+ | `ImportDsMap` : [ | ||
+ | `Id` : `ArtId`, | ||
+ | `ItemType` : `ItemType`, | ||
+ | `Node` : `IfEmpty(fld13,1,IfEmpty(MapGbId(10001,fld13,209,1),1))`, | ||
+ | `Name` : `fld3`, | ||
+ | `FullName` : `fld14`, | ||
+ | `NUMBER` : `fld1`, | ||
+ | `PackMin` : 101, | ||
+ | `PackSale` : 102, | ||
+ | `PackStock` : 102, | ||
+ | `RatioSale` : `Ratio`, | ||
+ | `RatioStock` : `Ratio`, | ||
+ | `AddBarCode0` : `BC`, | ||
+ | `Heap.@Weight` : `IfEmpty(StrToFloat(StrReplace(fld9,".",",")),0)`, | ||
+ | `Heap.@PackType` : `IfEmpty(fld8,"")`, | ||
+ | `ExtType` : `ExtType`, | ||
`ExtId` : `fld2`, | `ExtId` : `fld2`, | ||
`Depot` : 209 | `Depot` : 209 |
Версия 11:05, 1 декабря 2016
Содержание
Назначение команды
Команда ID115 (синоним – IMPORT) предназначена для импорта данных, для изменения значения полей в нескольких объектах и т.п.
Описание команды
Сопоставление с внешним справочником
Команда может задавать соответствие между импортируемым объектом ГБ и объектом внешнего справочника. Поля, используемые для автоматического создания сопоставления с внешним справочником:
- ExtType - тип объекта во внешнем справочнике;
- ExtId - код объекта во внешнем справочнике;
- Depot - код удаленного отдела (т.е. владельца внешнего справочника).
Создание нового объекта
Для создания нового объекта в команду импорта данных нужно передавать "пустой" (null) код объекта, т.е.
Id = 1/0
Примеры
Пример записи значения поля Heap.@Upakovshik в группу документов
CreateDataSet( `dsImp`, [ `DocId,I` : ``, `Up,I` : `` ] ), <тут заполняем датасет dsImp кодами документов>, ProcessCommand( 11, [ `SaveImmediate` : `Y`, `ImportDs` : `dsImp`, `ImportDsMap` : [ `Id` : `Id`, `Heap.@Upakovshik` : `Up` ] ], `IMPORT` ), WaitForChildForms()
Пример импорта справочника партнёров
В примере партнёры импортируются в одну папку.
ProcessCommand( 0, [ `SaveImmediate` : `Y`, `ImportDs` : `dsTXT`, `ImportDsMap` : [ `Id` : `Id`, `Node` : `IfEmpty(Id,11,Id.Node)`, <--для новых карточек папка 11, для существующих папку не меняем `SubType` : 11, `Name` : `fld3`, `FullName` : `fld13`, `Heap.@INN` : `fld1`, `Heap.@Phone` : `fld5`, `Heap.@Address` : `fld6`, `ExtType` : `0`, `ExtId` : `fld2`, `Depot` : 209 ] ], `ID115` ), WaitForChildForms()
Пример импорта справочника товаров
В примере товары импортируются в разные папки.
ProcessCommand( 1, [ `ParentForm` : `launch`, `SaveImmediate` : `Y`, `ImportDs` : `dsTXT`, `ImportDsMap` : [ `Id` : `ArtId`, `ItemType` : `ItemType`, `Node` : `IfEmpty(fld13,1,IfEmpty(MapGbId(10001,fld13,209,1),1))`, `Name` : `fld3`, `FullName` : `fld14`, `NUMBER` : `fld1`, `PackMin` : 101, `PackSale` : 102, `PackStock` : 102, `RatioSale` : `Ratio`, `RatioStock` : `Ratio`, `AddBarCode0` : `BC`, `Heap.@Weight` : `IfEmpty(StrToFloat(StrReplace(fld9,".",",")),0)`, `Heap.@PackType` : `IfEmpty(fld8,"")`, `ExtType` : `ExtType`, `ExtId` : `fld2`, `Depot` : 209 ] ], `ID115` ), WaitForChildForms()