Автоматическая синхронизация документов

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

Общее описание

Иногда возникает потребность в создании товарного документа, который совпадал бы по товарному наполнению с другим документом, и правился бы синхронно с ним. Например, это может быть резерв товара на складе под заказ, который сам на остатки не влияет.

Документ-копия создается при создании документа, при внесении изменений в основной документ они вносятся также и в копию, при смене флага основного документа меняется и флаг копии, копия удаляется при удалении основного документа.

Синхронизация работает только при работе в ГБ. Изменения документа обменом или другими приложениями не синхронизируются.

Для актов передачи, в силу того, что они меняют остаток на двух складах, может создаваться 2 документа-копии.

Настройка

Параметры синхронизации задаются в типе документа, в поле Heap.@SyncDoc (Свойства - закладка "Все подряд" - добавляем строку @SyncDoc=...)

Параметры пишутся в виде строки Имя=Значение;Имя=Значение;...

Здесь Имя - название параметра

Параметры

  • LinkType - (константа) тип связи, которым документ-копия будет связан с основным. По умолчанию 70.
  • LinkSide - (константа) направление связи. Может иметь значение D (документ-копия пишется в DebetDoc) или C (документ-копия пишется в CreditDoc). По умолчанию C
  • DocType - (выражение) тип документа-копии. По умолчанию 43.
  • Kind - (выражение) операция для документа-копии. По умолчанию 0.
  • Partner - (выражение) партнер для документа-копии. По умолчанию - такой же, как в исходном документе
  • SET:Heap.XXX - (выражение) изменение заданного хипового поля в документе-копии
  • Stock - (выражение) склад для документа-копии. Если в результате вычисления выражения получился 0, синхронизация не выполняется (поэтому Stock можно использовать для условной синхронизации). По умолчанию - Stock.Heap.@ReserveStock
  • Stock2 - (выражение) склад для второго документа-копии, в случае если основной документ - акт передачи. Если 0 - вторая копия не создается. По умолчанию - Partner.Heap.@ReserveStock
  • MinFlag - (константа) флаг основного документа, начиная с которого осуществляется синхронизация. По умолчанию 0
  • MaxFlag - (константа) флаг основного документа, начиная с которого прекращается синхронизация. По умолчанию MaxInt
  • ChangeSign - (константа) если 1, то знаки в товарных строчках копии будут противоположны знакам в строчках исходного документа. По умолчанию 0
  • GoodiesFilter - (выражение) фильтр для товарных строк основного документа, которые попадут в копию. По умолчанию пусто.

Пример

@SyncDoc=Stock=IIF(Heap.@Sync=`1`,Stock,0)