Вопрос № 51046: Добрый день!!! У меня есть Справочник Номенклатура, ему подчинён Справочник Комплект. Во внешнем отчёте мне необходимо вывести Номенклатуру и его комплекты. У меня в отчёте выводиться только Номенклатура у которой есть комплекты, а мне надо вывести в...
Вопрос № 51.046
Добрый день!!! У меня есть Справочник Номенклатура, ему подчинён Справочник Комплект. Во внешнем отчёте мне необходимо вывести Номенклатуру и его комплекты. У меня в отчёте выводиться только Номенклатура у которой есть комплекты, а мне надо вывести всю номенклатуру. Как вывести номенклатуру у которой нет комплектов?
Версия 1С 7.7. С уважением.
Отвечает: Warior
Здравствуйте, Латышев Иван Степанович!
что то типа
Таб=СоздатьОбъект("Таблица");
СпрНом=СоздатьОбъект("Справочник.Номенклатура");
СпрКом=СоздатьОбъект("Справочник.Комплект");
СпрНом.ВыбратьЭлементы();
Пока СпрНом.ПолучитьСтроку()=1 Цикл
Если СпрНом.ЭтоГруппа()=0 Тогда
Таб.ВывестиСекцию("Товар");
СпрКом.ИспользоватьВладельца(СпрНом.ТекущийЭлемент());
СпрКом.ВыбратьЭлементы();
Пока СпрКом.ПолучитьЭлемент()=1 Цикл
Таб.ВывестиСекцию("Состав");
КонецЦикла;
КонецЕсли;
КонецЦикла;
либо аналогично выборка по номенклатуре через запрос.
Ответ отправил: Warior (статус: 2-ой класс)
Ответ отправлен: 03.08.2006, 16:14
Отвечает: Сергей
Здравствуйте, Латышев Иван Степанович!
В каком отчете?
Если это стандартный отчет называйте конфигурацию, если самописный то нужно хотя бы глянуть на него!!!
Ответ отправил: Сергей (статус: 6-ой класс)
Ответ отправлен: 03.08.2006, 16:16
Отвечает: Manserg
Здравствуйте, Латышев Иван Степанович!
В запросе использовать параметр "Все" в группировке, например: "Группировка Номенклатура Все;"
Ответ отправил: Manserg (статус: 3-ий класс)
Ответ отправлен: 03.08.2006, 16:18
Отвечает: svsrus
Здравствуйте, Латышев Иван Степанович!
Всю номенклатуру вывести простой выборкой элементов. Видимо у тебя где-то стоит условие "Если СпрКомплект.ПолучитьЭлемент() = 1 Тогда" или Если "СпрКомплект.ВыбратьЭлементы() = 1 Тогда" и в этом условии выводится секция с номенклатурой. Естественно, если нет комплектов, то и номенклатура не выводится.
См. приложение.
Приложение:
Ответ отправил: svsrus (статус: 2-ой класс)
Ответ отправлен: 03.08.2006, 23:07
Отвечает: Шальков Павел Владимирович
Здравствуйте, Латышев Иван Степанович!
Все очень просто: делаете выборку по номенклатуре, а внутри ее по комплектам
Например:
Номенклатура.ВыбратьЭлементы();
Пока (Номенклатура.ПолучитьЭлемент() = 1) И (Номенклатура.ЭтоГруппа() = 0) Цикл
//Выводим строку с номенклатурой .....
Комплекты.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());
Комплекты.ВыбратьЭлементы();
Пока Комплекты.ПолучитьЭлемент() = 1 Цикл
//Выводим строку с комплектом .....