Ситуация. Мероприятие прием на работу. Заполняем все правильно и красиво. Доходим до ИТ0298 и причина мероприятия оказывается пустой, хотя в 0000 мы ее указали. Оказывается проблема в том, что ряд инфо-типов очищает внутренние структуры, которые как раз и хранят наши код и причину мероприятия. Например, ИТ2006. Если вы его поставите в инфо-группе до 0298, то в ИТ0298 поле причины мероприятия будет пустым. Если ИТ2006 поставить после 0298, то все будет отлично.

Проблема в том, что данные по отпуску должны выводиться в приказ о приеме, поэтому 2006 должен быть раньше 0298. Чтобы решить проблему нужно после ИТ0000 где-то сохранить эти значения. Например, в динамическом мероприятии, а затем восстановить перед ИТ0298. Сделать это можно через собственную процедуру, которая будет вызываться и сохранять в памяти значения. Либо как-то еще — на ваш выбор.

Решить можно вот так. Прописываем в динамических мероприятиях для ИТ0000.

0000 04 390 *— FIX MASSG LOSING FOR 0298 —
0000 04 391 P T001P-MOLGA=’33’
0000 04 392 F EXPORT_MASSN_MASSG(MP029800)

Обратная подпрограмма для чтения в ИТ0298 тоже есть, вызывается при заполнении структуры, т.е. больше ничего делать не надо.