Автоматическая синхронизация документов
Содержание
Общее описание
Иногда возникает потребность в создании товарного документа, который совпадал бы по товарному наполнению с другим документом, и правился бы синхронно с ним. Например, это может быть резерв товара на складе под заказ, который сам на остатки не влияет.
Документ-копия создается при создании документа, при внесении изменений в основной документ они вносятся также и в копию, при смене флага основного документа меняется и флаг копии, копия удаляется при удалении основного документа.
Синхронизация работает только при работе в ГБ. Изменения документа обменом или другими приложениями не синхронизируются.
Для актов передачи, в силу того, что они меняют остаток на двух складах, может создаваться 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)