Проблема с операциями. 1С 7.7
04.12.2009
19:56
#1
Здравствуйте! Помогите пожалуйста по такому вопросу. Как в "1С 7.7 Бухгалтерия" выбрать операции, где участвует определенный счет, и, если необходимо, внести изменения (например сумму поменять) и записать с изменениями эти операции. Никак не получается. Какой должен быть код? И вообще такое возможно или нет?
04.12.2009
20:11
#2
Есть специальная обработка. Но ею должен пользоваться или специалист или опытный пользователь. Иначе такого наворотите...
05.12.2009
17:26
#4
"Ну, если очень нужно... По крайней мере, сделайте архив базы перед тем как все делать или поэксперементируйте на дубликате базы.
Алгоритм будет выглядеть примерно так:
НачДата=Дата("01.01.2009");
КонДата=Дата("31.12.2009");
НужныйСчет=СчетПоКоду("70");
БухИтоги=СоздатьОбъект("БухгалтерскиеИтоги");
БухИтоги.ВыполнитьЗапрос(НачДата,КонДата,НужныйСчет,,,2,"Операция"); //к сожалению нельзя написать "Проводка", точнее можно, но у объекта БухИтоги нет метода, который позволил бы нам определить какая именно проводка по номеру вошла в выборку
БухИтоги.ВыбратьПериоды();
Пока БухИтоги.ПолучитьПериод()=1 Цикл
Опер=БухИтоги.Операция;
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку()=1 Цикл
Если (Опер.Дебет.Счет=НужныйСчет) ИЛИ (Опер.Кредит.Счет=НужныйСчет) Тогда
Опер.Сумма=Опер.Сумма*2; //какое то преобразование суммы
КонецЕсли;
КонецЦикла;
Опер.Записать();
КонецЦикла;"
Алгоритм будет выглядеть примерно так:
НачДата=Дата("01.01.2009");
КонДата=Дата("31.12.2009");
НужныйСчет=СчетПоКоду("70");
БухИтоги=СоздатьОбъект("БухгалтерскиеИтоги");
БухИтоги.ВыполнитьЗапрос(НачДата,КонДата,НужныйСчет,,,2,"Операция"); //к сожалению нельзя написать "Проводка", точнее можно, но у объекта БухИтоги нет метода, который позволил бы нам определить какая именно проводка по номеру вошла в выборку
БухИтоги.ВыбратьПериоды();
Пока БухИтоги.ПолучитьПериод()=1 Цикл
Опер=БухИтоги.Операция;
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку()=1 Цикл
Если (Опер.Дебет.Счет=НужныйСчет) ИЛИ (Опер.Кредит.Счет=НужныйСчет) Тогда
Опер.Сумма=Опер.Сумма*2; //какое то преобразование суммы
КонецЕсли;
КонецЦикла;
Опер.Записать();
КонецЦикла;"
Читают тему
(гостей: 1)