Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 18:43

Внешний отчет

Автор Яна93, 14 мая 2012, 15:21

0 Пользователей и 1 гость просматривают эту тему.

Яна93

Доброго всем времени суток :) мне нужна помощь с отчетом...в общем хочу создать отчет, гду в табличной части будут выводится Документ (т.е. номер накладной), Клиент, Номенклатура, Количество.. Данные для таблицы он должен брать из реализации..именно те позиции которые с нулевыми ценами...здесь наверное надо делать цикл по документу?

Яна93

забыла указать, что конфигурация программы 1с Предприятие 7.7 торговля и склад

Yura063

Так пользуйся конструктором!
Помогли, отблагодари!

Яна93

Конструктором както сложнее...даже разобраться не могу..уже два дня изучаю..

Яна93

нужно скорее всего зделать цикл по документу..чтобы он искал ту номенклатуру из накладной у которой цена не проставлена..а как это грамотно записать не выходит..может кто подскажет?

Яна93

Все..я догнала как делать) если кому поможет то вот мой код программы:

Процедура Сформировать() 
   СпрНом=СоздатьОбъект("Справочник.Номенклатура");
   СпрНом.НайтиПоКоду("Пр000001");
   Ном=СпрНом.ТекущийЭлемент();
   Таб=СоздатьОбъект("Таблица");
   Док=СоздатьОбъект("Документ.Реализация"); 
   Таб.ВывестиСекцию("Шапка");
   Док.ВыбратьДокументы(ДатаНачала,ДатаКонца);
   Пока Док.ПолучитьДокумент()=1 Цикл
      Если Док.Проведен()=1 ТОгда
         Док.ВыбратьСтроки();
         Пока Док.ПолучитьСтроку()=1 Цикл
            ЕСли Док.Номенклатура.ПринадлежитГруппе(Ном)=1 Тогда
               Если Док.Сумма=0 Тогда
                  Таб.ВывестиСекцию("Строка");
               КонецЕсли;
            КонецЕСли;   
         КонецЦикла;
      КонецЕсли;
   КонецЦикла;
   Таб.толькоПросмотр(1);
   Таб.Показать();
   
КонецПроцедуры

Yura063

Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Обрабатывать НеПомеченныеНаУдаление;
|Реализация = Документ.Реализация.ТекущийДокумент;
|Номенклатура = Документ.Реализация.Номенклатура;
|Количество = Документ.Реализация.Количество;
|Цена = Документ.Реализация.Цена;
|Группировка Реализация;
|Условие(Цена = 0);
|" /}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Реализация
Таб.ВывестиСекцию("Реализация");
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры

Помогли, отблагодари!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск