Имя: Пароль:
1C
1С v8
v8: Процедура для заполнения регистра по строкам операции
,
0 ВладимирIII
 
25.02.13
15:43
Есть обработка с одним реквизитом "Операция" (Объект конфигурации "ОперацияБух")
Нужна помощь в написании процедуры, которая добавит в выбранную операцию движения по одному из регистров накопления, основываясь на строки самой операции(+пример заполнения одного ресурса регистра). Какой-нибудь самый простой вариант.
1 Wobland
 
25.02.13
15:44
чем помочь? готовое дать?
2 Жан Пердежон
 
25.02.13
15:45
за тебя сделать шоле, а ты потом свои реквизиты подставишь?)
3 Maxus43
 
25.02.13
15:48
в чем проблема?
4 ВладимирIII
 
25.02.13
15:50
Проблема в том, что опыт программирования только на 7ке.
Нужен простой пример (в 7ке бы уложился приблизительно в 20 строк)
5 Wobland
 
25.02.13
15:56
(4) под руку попалось

       Движение=Движения.Хозрасчетный.Добавить();
       Если Выборка.Сумма<0 Тогда //оприходование
           Движение.СчетДт=Выборка.СчётУчёта;
           Движение.СчетКт=ПланыСчетов.Хозрасчетный.ПрочиеДоходы; //91.01
           Движение.Период=Дата;
           Движение.Организация=Организация;
           Движение.ПодразделениеДт=Подразделение;
           Движение.ПодразделениеКт=Подразделение;
           Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура]=Выборка.Номенклатура;
           Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады]=Склад;
           Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы]=СтатьяПрочихДоходов;
           Движение.КоличествоДт=?(Выборка.Номенклатура=Справочники_Номенклатура_Товар, 1, -Выборка.Количество);
           Движение.Сумма=-Выборка.Сумма;
           Движение.Содержание="Оприходование товаров";
6 Oleg_Kag
 
25.02.13
16:04
У документа "ОперацияБух" есть ТЧ "ТаблицаРегистровНакопления", если мне не изменяет склероз, ну и далее по вкусу...
7 Михаил Козлов
 
25.02.13
16:09
В ОперацияБух движения по регистру накопления добавить нельзя. Вам нужно создать документ КорректировкаЗаписей Регистров (либо проводки ОперацияБух формировать в самом этом документе).
8 ВладимирIII
 
25.02.13
16:12
Как попасть в документ и запустить цикл по его строкам?
Вот код для 7ки:

Док=СоздатьДокумет("Документ");
Док.ВыбратьДокументы();
Пока Док.ПолучитьДокумент()=1 Цикл
   Если Док = ЗначДок Тогда //"ЗначДок" - реквизит из настроек обработки.
       Док.ВыбратьСтроки();
       Пока Док.ПолучитьСтроку() = 1 Цикл
       ....//создаем новое движение в регистре//....
       КонецЦикла;
   КонецЕсли;
   Док.Записать();
КонецЦикла;


Нужно что-то похожее для 8ки
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший