Импорт данных ID115 — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 13: Строка 13:
 
====Примеры====
 
====Примеры====
 
<br>Пример записи значения поля ''Heap.@Upakovshik'' в группу документов:
 
<br>Пример записи значения поля ''Heap.@Upakovshik'' в группу документов:
  '''CreateDataSet'''(
+
'''CreateDataSet'''(
    `dsImp`,
+
  `dsImp`,
    [
+
  [
      `DocId,I` : ``,
+
    `DocId,I` : ``,
      `Up,I` : ``
+
    `Up,I` : ``
    ]
+
  ]
  ),
+
),
  ''<тут заполняем датасет dsImp кодами документов>,''
+
''<тут заполняем датасет dsImp кодами документов>,''
  '''ProcessCommand'''(
+
'''ProcessCommand'''(
    11,
+
  11,
    [
+
  [
      `SaveImmediate` : `Y`,
+
    `SaveImmediate` : `Y`,
      `ImportDs` : `dsImp`,
+
    `ImportDs` : `dsImp`,
      `ImportDsMap` : [
+
    `ImportDsMap` : [
                        `Id` : `Id`,
+
                      `Id` : `Id`,
                        `Heap.@Upakovshik` : `Up`
+
                      `Heap.@Upakovshik` : `Up`
                      ]
+
                    ]
    ],
+
  ],
    `IMPORT`
+
  `IMPORT`
  ),
+
),
  '''WaitForChildForms()'''
+
'''WaitForChildForms()'''
  
 
<br>Пример импорта справочника партнёров
 
<br>Пример импорта справочника партнёров
    ProcessCommand(
+
ProcessCommand(
      0,
+
  0,
      [
+
  [
        `SaveImmediate` : `Y`,
+
    `SaveImmediate` : `Y`,
        `ImportDs` : `dsTXT`,
+
    `ImportDs` : `dsTXT`,
        `ImportDsMap` : [
+
    `ImportDsMap` : [
                          `Id` : `Id`,
+
                      `Id` : `Id`,
                          `Node` : `IfEmpty(Id,11,Id.Node)`,
+
                      `Node` : `IfEmpty(Id,11,Id.Node)`,
                          `SubType` : 11,
+
                      `SubType` : 11,
                          `Name` : `fld3`,
+
                      `Name` : `fld3`,
                          `FullName` : `fld13`,
+
                      `FullName` : `fld13`,
                          `Heap.@INN` : `fld1`,
+
                      `Heap.@INN` : `fld1`,
                          `Heap.@Phone` : `fld5`,
+
                      `Heap.@Phone` : `fld5`,
                          `Heap.@Address` : `fld6`,
+
                      `Heap.@Address` : `fld6`,
                          `Heap.@AddressFakt` : `fld7`,
+
                      `Heap.@AddressFakt` : `fld7`,
                          `Heap.@DriverLic` : `fld8`,
+
                      `Heap.@DriverLic` : `fld8`,
                          `Heap.@Automobile` : `fld9`,
+
                      `Heap.@Automobile` : `fld9`,
                          `Heap.@AutoGosNum` : `fld10`,
+
                      `Heap.@AutoGosNum` : `fld10`,
                          `ExtType` : `0`,
+
                      `ExtType` : `0`,
                          `ExtId` : `fld2`,
+
                      `ExtId` : `fld2`,
                          `Depot` : 209
+
                      `Depot` : 209
                        ]
+
                    ]
      ],
+
  ],
      `ID115`
+
  `ID115`
    ),
+
),
    IIF(
+
WaitForChildForms()
      not WaitForChildForms(),
 

Версия 12:26, 16 ноября 2015

Назначение команды

Команда ID115 (синоним – IMPORT) предназначена для импорта данных, для изменения значения полей в нескольких объектах и т.п.

Описание команды

Сопоставление с внешним справочником

Команда может задавать соответствие между импортируемым объектом ГБ и объектом внешнего справочника. Поля, используемые для автоматического создания сопоставления с внешним справочником:

  • ExtType - тип объекта во внешнем справочнике;
  • ExtId - код объекта во внешнем справочнике;
  • Depot - код удаленного отдела (т.е. владельца внешнего справочника).

Примеры


Пример записи значения поля 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)`,
                      `SubType` : 11,
                      `Name` : `fld3`,
                      `FullName` : `fld13`,
                      `Heap.@INN` : `fld1`,
                      `Heap.@Phone` : `fld5`,
                      `Heap.@Address` : `fld6`,
                      `Heap.@AddressFakt` : `fld7`,
                      `Heap.@DriverLic` : `fld8`,
                      `Heap.@Automobile` : `fld9`,
                      `Heap.@AutoGosNum` : `fld10`,
                      `ExtType` : `0`,
                      `ExtId` : `fld2`,
                      `Depot` : 209
                    ]
  ],
  `ID115`
),
WaitForChildForms()