Замена счетов учета в УНФ
Бухгалтер увидела, что в некоторых товарах (более сотни) стоит неправильный счет учета и поменяла их групповой обработкой на «Товары, продукция».
Но после этого сразу же перестали пробиваться товары на кассах, выдавалась ошибка:
Не хватает остатка по учету запасов и затрат.

Откатить назад было нельзя. Ведь было не известно, у каких товаров были правки.
А у части товаров нужно было сохранить счет учета «Сырье и материалы»:

Написал простой код обработки, она заменила счет учета в регистре Запасы:
З = Новый Запрос( "ВЫБРАТЬ РАЗЛИЧНЫЕ | Т.Регистратор КАК Регистратор, | Т.Период КАК Период |ИЗ | РегистрНакопления.Запасы КАК Т |ГДЕ | Т.Номенклатура.СчетУчетаЗапасов <> Т.СчетУчета | |УПОРЯДОЧИТЬ ПО | Т.Период"); Выборка = З.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НЗ = РегистрыНакопления.Запасы.СоздатьНаборЗаписей(); НЗ.Отбор.Регистратор.Значение = Выборка.Регистратор; НЗ.Прочитать(); Для Каждого МЗ ИЗ НЗ Цикл Если МЗ.СчетУчета <> МЗ.Номенклатура.СчетУчетаЗапасов Тогда МЗ.СчетУчета = МЗ.Номенклатура.СчетУчетаЗапасов; КонецЕсли; КонецЦикла; НЗ.ОбменДанными.Загрузка = истина; НЗ.Записать(); КонецЦикла
Не знаю, насколько этот код корректный, ведь если счет учета хранится в регистре, иногда он может не совпадать с номенклатурой? Но видимо для торговли нормально, а для производства нужно дважды подумать, чем его запускать.
Но у меня так сложилось, что я хотел запустить код на продакте под отладчиком, но отладка не сработала и код быстро пролетел, все поменяв. К счастью, успешно.
Но после этого бухгалтер опять обратилась. Товары на кассах стали пробиваться, но в ОСВ ничего не поменялось. И ведь да, я не менял проводки в регистре накопления Управленческий. Но там нельзя было просто заменить один счет учета на другой, ведь там были сводные проводки.
Думаю, заменить через перепроведение документов по регистрам, но ведь там наверняка и закрытия месяцев присутствуют, может несколько «поплыть» себестоимость. Но делать нечего…
Среда: УНФ 3.0.10.178 Объем: 1 час.




Свежие комментарии