Порой бывает необходимо скорректировать движения документа(ов) по тому или иному регистру(ам) накопления/сведений путем ввода типового документа «Корректировка регистров». Ручное заполнение довольно трудоемкое занятие, особенно, если движений для корректировки слишком много.
Представленная обработка позволяет в полуавтоматическом режиме заполнить типовой документ «Корректировки регистров» на основании движений любого документа в Вашей конфигурации. Обработка может использоваться как внешняя, так и в качестве дополнительной обработки с видом «Заполнение объекта».
Подключение дополнительной обработки
По умолчанию в обработке уже есть функция «СведенияОВнешнейОбработке», которая описывает её как дополнительную обработку с видом «Заполнение объекта» к единственному документу «Корректировка регистров», но, при желании, её можно переопределить, для тех документов, которые Вы выберете. Для этого следует открыть обработку как внешнюю и щелкнуть на кнопку «Сгенерировать сведения о внешней обработке».

В открывшейся форме указываем документы, к которым необходимо подвязать вызов представленной обработки. Документ «Корректировка регистров» выбирать не надо, так как он автоматически попадет в генерируемый текст функции. Далее щелкаем по кнопке «Сгенерировать текст» и заменяем в модуле объекта обработки функцию «СведенияОВнешнейОбработке», текстом, который появится в поле «Текст сведений о внешней обработке». После вышеописанных действий подключаем дополнительную обработку, используя типовой механизм («НСИ и администрирование» -> «Печатные формы, отчеты и обработки» -> «Дополнительные отчеты и обработки»)

Пример сгенерированного текста функции «СведенияОВнешнейОбработке»:
Функция СведенияОВнешнейОбработке() Экспорт
ИмяОбработки = "лкс_ЗаполнениеКорректировкиРегистровНаОснованииДвиженийДокумента";
СинонимОбработки = "Заполнение корректировки регистров";
ПарамРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПарамРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
ПарамРегистрации.Наименование = ИмяОбработки;
ПарамРегистрации.Информация = СинонимОбработки;
ПарамРегистрации.Версия = "1.0";
ПарамРегистрации.БезопасныйРежим = ЛОЖЬ;
ПарамРегистрации.Назначение.Добавить("Документ.КорректировкаРегистров");
ПарамРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");
ПарамРегистрации.Назначение.Добавить("Документ.СборкаТоваров");
Команда = ПарамРегистрации.Команды.Добавить(); //КОМАНДЫ
Команда.Представление = НСтр("ru = 'Заполнение корректировки регистров'");
Команда.Идентификатор = ИмяОбработки;
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Команда.ПоказыватьОповещение = Истина;
Возврат ПарамРегистрации;
КонецФункции
Заполнение документа «Корректировка регистров»
В форме документов, выбранных на предыдущем шаге, появится кнопка с именем, указанным в поле «Представление обработки». При нажатии на данную кнопку, откроется основная форма обработки заполнения. Если переход идет из документа «Корректировка регистров», то при открытии формы заполняется соответствующее поле «Документ корректировки», если из любого другого документа, то поле «Документ основание».

При указании документа основания, программа автоматически показывает все движения документа по подчиненным регистрам накопления/сведений. Пользователю остается лишь выбрать те строки, которые он хочет перенести в документ корректировки и нажать кнопку «Перенести в документ корректировки».
Перенос в документ корректировки выбранных строк движений работает в двух режимах:
-
Добавление выбранных движений к действующим движениям документа. Для этого в форме обработки следует установить флажок «Добавить записи к уже имеющимся»;
-
Добавление выбранных движений с очисткой действующих движений документа. Для этого в форме обработки следует снять флажок «Добавить записи к уже имеющимся».
Реализована возможность сторнирования выбранных движений (применимо только для ресурсов регистра). Для этого используется кнопка «Сторно» на каждой из вкладок.

В итоге, после переноса данных в документ корректировки, будут заполнены соответствующие вкладки регистров накопления/сведений согласно выбранному режиму переноса.

Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.22.149, 2.5.18.46
- Управление торговлей, редакция 11, релизы 11.5.26.96, 11.2.2.106
- Управление нашей фирмой, редакция 3.0, релизы 3.0.13.251
Вступайте в нашу телеграмм-группу Инфостарт