новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Програмно изменить субконто в ОперацииБух

    • #1
    • 16.08.2011 21:15
    0
    Собственно имеется 1с 8.2 Бухгалтерия 2.0 Пытаюсь написать обработку , чтобы программно изменить СУбконтоКт (После переноса из 7.7 в некоторых местах встало пустое значение) Вот кусок Кода ВыбДок = Документы.ОперацияБух.Выбрать(,Выбдата,,); Пока ВыбДок.Следующий() Цикл ПолучДок=ВыбДок.ПолучитьОбъект(); НаборЗаписей = ПолучДок.Движения.Хозрасчетный; //НаборПроводок = НаборЗаписей.Выгрузить(); Для каждого Проводка из НаборЗаписей Цикл Если Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах тогда БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,2,ВыбСклад); КонецЕсли; КонецЦикла; НаборЗаписей.Записать(); // ПолучДок.РучнаяКорректировка = истина; ПолучДок.Записать(); КонецЦикла; Все бы хорошо, но на этапе НаборЗаписей = ПолучДок.Движения.Хозрасчетный; этот самый НаборЗаписей оказывается пустым... Ну и дальше по цепочке, стираются проводки операции и все такое. Так вот вопрос, почему НаборЗаписей тупой? или как по другому программно изменить субконто в ОперацииБух, ибо таких операций изменять много, и бедная бухгалтер замучается вручную все забивать.
    • #2
    • 16.08.2011 21:16
    0
    ВыбДок = Документы.ОперацияБух.Выбрать(,Выбдата,,);
    Пока ВыбДок.Следующий() Цикл
     
     ПолучДок=ВыбДок.ПолучитьОбъект();
     НаборЗаписей = ПолучДок.Движения.Хозрасчетный;
     //НаборПроводок = НаборЗаписей.Выгрузить();
     Для каждого Проводка из НаборЗаписей Цикл
    
      Если Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах тогда
       БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,2,ВыбСклад);
      КонецЕсли;
     КонецЦикла;	
     НаборЗаписей.Записать();
    // ПолучДок.РучнаяКорректировка = истина;
     ПолучДок.Записать();
    КонецЦикла;	
    



    простите, код не так вставил
    • #3
    • 16.08.2011 21:17
    0
    Собственно имеется 1с 8.2 Бухгалтерия 2.0 Пытаюсь написать обработку , чтобы программно изменить СУбконтоКт (После переноса из 7.7 в некоторых местах встало пустое значение)
    (Код выше)
    Все бы хорошо, но на этапе НаборЗаписей = ПолучДок.Движения.Хозрасчетный; этот самый НаборЗаписей оказывается пустым... Ну и дальше по цепочке, стираются проводки операции и все такое. Так вот вопрос, почему НаборЗаписей тупой? или как по другому программно изменить субконто в ОперацииБух, ибо таких операций изменять много, и бедная бухгалтер замучается вручную все забивать.

    Все оформил. извините) Недавно тут..
    • #4
    • 16.08.2011 23:40
    0
    Предварительно НЗ нужно Прочитать();

    		НЗ = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    		НЗ.Отбор.Регистратор.Установить(Выборка.Регистратор);
    		НЗ.Прочитать();
    		Для каждого ЗаписьНЗ Из НЗ Цикл
    			Заменить = Истина;
    			Для каждого РеквизитОтбора Из СтруктураОтбора Цикл
    				Если ЗаписьНЗ[РеквизитОтбора.Ключ] <> РеквизитОтбора.Значение Тогда
    					Заменить = Ложь;
    					Прервать;
    				КонецЕсли;
    			КонецЦикла;
    
    • #5
    • 16.08.2011 23:43
    0
    Возьми файлик для основы - как-то была задача массовой замены субконто в огромном количестве операций типа "ОперацияБух"
    • #6
    • 16.08.2011 23:44
    0
    Файлик тут пока не прикрепляется, пиши на почту пкшпщкшумфи"дшыеюкг - вышлю обработку
    • #7
    • 17.08.2011 20:46
    0
    Спасибо, все работает. Всего - навсего забыл Прочитать НаборЗаписей. Ох уж эти методы))
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться