Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 мая 2024, 05:41

Изменение счета в бухгалтерской операции

Автор Rootvorg, 25 дек 2013, 00:47

0 Пользователей и 1 гость просматривают эту тему.

Rootvorg

1с 8.2.19.76
Бухгалтерия государственного учреждения, редакция 1.0 (1.0.22.4)
В 1С до этого никогда не писал

Есть 5000 Бухгалтерский проводок с не правильным счетом. Нужно массово поменять с одного на другой.

погуглив написал следующее


Процедура Кнопка1Нажатие(Элемент)
   НачДата=Дата("20131129");
   КонДата=Дата("20131129");
   бухОперация=Документы.ОперацияБух.Выбрать(НачДата,КонДата);
   ии=0;
   сумм=0;
   Пока бухОперация.Следующий() Цикл
   рб=РегистрыБухгалтерии.ЕПСБУ.ВыбратьПоРегистратору(бухОперация.Ссылка);
   Пока рб.Следующий() Цикл
   Если (рб.СчетДт=ПланыСчетов.ЕПСБУ.НайтиПоКоду("109.61")) И (рб.КВД=Перечисления.КВД.СубсидииНаИныеЦели)
   Тогда
               //Сообщить(рб.СчетДт.Код);
               //рб.Сумма=100;
                   Сообщить(ии);
               ии=ии+1;
   сумм=сумм+рб.Сумма;
               //Сообщить(ии);
   для каждого ск из рб.СчетДт.ВидыСубконто цикл
                   Сообщить("*"+рб.СубконтоДт[ск.ВидСубконто]);
   Сообщить("*****"+ск.ВидСубконто);
   КонецЦикла

           КонецЕсли;
   КонецЦикла;
   
   НД = РегистрыБухгалтерии.ЕПСБУ.СоздатьНаборЗаписей();
   НД.Отбор.регистратор.установить(бухОперация.Ссылка);
   НД.Прочитать();
   
   Если не НД.Количество() = 0 Тогда
    Для каждого Запись Из НД Цикл // вот это - работает

    Запись.СчетДт = ПланыСчетов.ЕПСБУ.НайтиПоКоду("401.20");

    КонецЦикла;
   
   КонецЕсли;

   НД.Записать();

   
   КонецЦикла;
   Сообщить(ии);
   Сообщить(сумм);
КонецПроцедуры


Падает с ошибкой: Запись не верна! Вид субконто "Номенклатура" не доступен для этой записи!

Проблема в том что к 401.20 не привязано ни одно субконто. Как его удалить?

MuI_I_Ika

Зпись.СубконтоДт.Номенклатура = Неопределено;

Как то так.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск