NULL
GriV
Дата регистрации: 07.02.2006
Сообщений:
11
"На днях разбирался с закрытием месяца (типовая бухУчет 7.70.478) по галочке "ГП и ПФ", а именно в модуле документа "ЗакрытиеМесяца" процедура РасчетСебестоимостиПродукцииИПолуфабрикатовБУ()
Там есть такой кусочек:
// Создадим список видов номенклатуры, по которым было движение продукции.
СписокВидовНоменклатуры = СоздатьОбъект("СписокЗначений");
БухИтПрод.ВыбратьСубконто(ВидыСубконто.Номенклатура);
Пока БухИтПрод.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл
СписокВидовНоменклатуры.ДобавитьЗначение(ПолучитьВидПродукции(БухИтПрод.Субконто(ВидыСубконто.Номенклатура)));
КонецЦикла;
Т.е. пробегают по "Номенклатуре", а готовят СписокЗначений с "ВидамиНоменклатуры". В моей ситуации используется всего 2 ВидаНоменклатуры, и ассортимент "Номенклатуры" около 2 тысяч позиций.
Внеся изменения:
// Создадим список видов номенклатуры, по которым было движение продукции.
СписокВидовНоменклатуры = СоздатьОбъект("СписокЗначений");
БухИтПрод.ВыбратьСубконто(ВидыСубконто.Номенклатура);
Пока БухИтПрод.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл
_вп = ПолучитьВидПродукции(БухИтПрод.Субконто(ВидыСубконто.Номенклатура));
Если СписокВидовНоменклатуры.НайтиЗначение(_вп) <> 0 Тогда
СписокВидовНоменклатуры.ДобавитьЗначение(_вп);
КонецЕсли;
КонецЦикла;
у меня список значений сократился с 205 до 2.
А далее идет
НомерВидаНоменклатуры = 1;
Пока НомерВидаНоменклатуры <= СписокВидовНоменклатуры.РазмерСписка() Цикл
...
КонецЦикла;
ну и сами понимаете...
Глубинного смысла такой реализации от 1С я не нашел, закрытие по цифрам получается вполне подходяще, так что я эти изменения оставил у себя.
Для интереса посмотрел предыдущие релизы (458 у меня еще сохранилась), там аналогично 478 все сделано.
До разработчиков бы как донести, может я чего недопонял?"