В ERP не у всех регистров документ регистратор "Корректировка регистров" пришлось "допилить"
&НаСервере
Функция КорректировкаСервер()
Если Объект.Ссылка.Проведен тогда
ДокументОбъект = Объект.Ссылка.ПолучитьОбъект();
ДокументПереноса = Документы.КорректировкаРегистров.СоздатьДокумент();
ДокументПереноса.Дата = ТекущаяДата();
ДокументПереноса.УстановитьНовыйНомер();
ДокументПереноса.Комментарий = "Сторнирование документа "+Объект.Ссылка;
ДокументПереноса.Записать();
Для Каждого Строка из ДокументОбъект.Движения Цикл
Если Лев(Строка(Строка),30)="РегистрНакопленияНаборЗаписей." тогда
Строка.Прочитать();
ДанныеРегистра = Строка.Выгрузить();
Если ДанныеРегистра.Количество() > 0 тогда
ИмяРегистра = Прав(Строка(Строка),СтрДлина(Строка(Строка))-30);
НаборКоэффициентов = РегистрыНакопления[ИмяРегистра].СоздатьНаборЗаписей();
Если Найти(НаборКоэффициентов.Отбор.Регистратор.ТипЗначения,типЗнч(ДокументПереноса.Ссылка))<>0 Тогда
НаименованиеРегистра = ДокументПереноса.ТаблицаРегистров.Добавить();
НаименованиеРегистра.Имя = ИмяРегистра;
Для Каждого Запись из ДанныеРегистра цикл
Запись.Регистратор = ДокументПереноса.Ссылка;
Для Каждого ресурсы из Строка.Метаданные().Ресурсы цикл
СтронированиеРесурса(Ресурсы.Имя,ДанныеРегистра,Запись);
КонецЦикла;
КонецЦикла;
НаборКоэффициентов.Очистить();
НаборКоэффициентов.Отбор.Регистратор.Значение= ДокументПереноса.Ссылка;
НаборКоэффициентов.Загрузить(ДанныеРегистра);
НаборКоэффициентов.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ДокументПереноса.Записать();
Возврат ДокументПереноса.Ссылка;
Иначе
Возврат неопределено;
КонецЕсли;
КонецФункции
Показать