Имя: Пароль:
1C
Админ
получить вывод
0 начинающий1спрог
 
06.07.12
11:08
Доброго всем дня!
дали задание написать обработку, чтобы из регистра остатков выводил номенклатуру по группам в рознице 1.0 (1с 8.2). то есть только номенклатура и количество суммируется по группам. и ещё это все желательно рекурсивным методом.
написал вот такую штуку:
Процедура ПолучитьОстаткиНоменклатуры()
   
     ТаблицаОстатков = РегистрыНакопления.ТоварыНаСкладах.Остатки();
     
     Для Каждого СтрокаТаблицы Из ТаблицаОстатков Цикл
       
       Сообщить ("СКЛАД " + СтрокаТаблицы.Склад + " НОМЕНКЛАТУРА "
       + СтрокаТаблицы.Номенклатура + ": " + СтрокаТаблицы.Количество);
   КонецЦикла;
КонецПроцедуры

выводит только номенклатуру и склад из регистра? как можно реализовать  вывод по группам да и ещё рекурсивно?
заранее спасибо
1 Wobland
 
06.07.12
11:11
(0) запросом. берёшь справочник слева, остатки справа, соединяешь, итоги по иерархии. поправьте кто-нибудь
2 начинающий1спрог
 
06.07.12
11:12
условие без запросов
3 Wobland
 
06.07.12
11:13
(2) зашибись! идиотизм
справочник как-то обходится по группам? не помню
4 Йохохо
 
06.07.12
11:28
группы в соответствие, рекурсией по родителю прибавлять количество
5 начинающий1спрог
 
06.07.12
11:31
(4) а можно поподробнее?
6 Йохохо
 
06.07.12
13:36
нажми стрл-f1 на Соответствие
создаешь Его, заполняешь ключ - группа, значение 0
в цикле из (0), где сообщить, рекурсивная ф-я ДобавитьКИтогу(Номенклатура, Количество)
Если Его.Получить(Номенклатура.Родитель) <> Неопределено Тогда
 Его[Номенклатура.Родитель] += Количество;
 ДобавитьКИтогу(Номенклатура.Родитель);
Иначе
 Возврат;
КонецЕсли;

типто
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший