Импорт данных ID115
Материал из GB wiki
Версия от 11:05, 1 декабря 2016; Alexey (обсуждение | вклад)
Содержание
Назначение команды
Команда 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()