понедельник, 14 сентября 2009 г.

Проведение документов по определенному регистру

Иногда может возникнуть потребность сформировать (или чаще изменить) движения документа по определенному регистру. Конечно с точки зрения логики движения документа нельзя рассматривать как совокупность наборов движений, то есть движения должны быть согласованы между собой.  Однако в некоторых случаях наборы движений независимы (например факт зачета аванса в БУ и проводки по НУ). Вот именно для таких движений может понадобится проведение документа по определенному регистру.
Чисто технически все достаточно просто нужно из модуля документа   вызвать соответствующую процедуру формирующую необходимые движения, однако в большинстве случаев:

  • Эта процедура не Экспортная;
  • Процедура делает движения и по другим регистрам;
то есть данный метод не универсальный (пойди разбери что там, за процедура по каким регистрам делает движения ) .

Универсальным, как мне кажется в данном случае будет:
  1. Запомнить все(существующие) движения документа;
  2. Провести документ;
  3. Восстановить все движения документа за исключением тех по которым, этот документ нужно было провести.
Практическая реализация, как всегда на основе конструктора Enterprise Integrator