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

помогите с реализацией

Автор Яна93, 28 фев 2012, 14:19

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

Яна93

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

вот на чем остановилась:
//*******************************************
Процедура Сформировать()         
   Таб=СоздатьОбъект("Таблица");
   Док=СоздатьОбъект("Документ");
   Док.ВыбратьДокументы(ДатаНачала,ДатаКонца);
    Пока Док.ПолучитьДокумент()=1 Цикл
      Если Док.Проведеня()=1 Тогда
            Таб.ВывестиСекцию("Строка");
      КонецЕсли;   
   КонецЦикла;   
   
   Таб.ТОлькоПросмотр(1);
   Таб.Показать();

КонецПроцедуры

Процедура ПриОткрытии()
   ДатаНачала=Дата(ТекущаяДата()+1);
   ДатаКонца=ДатаНачала;
КонецПроцедуры   

Яна93

в таблице которую создаю будет две колонки(документы и коментарий) коментарии берутся из данных документов...если они пустые то не выводить их..

Яна93

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

sergejK74

Так попробуй

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

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


Процедура ПриОткрытии()
   ДатаНачала=Дата(ТекущаяДата()+1);
   ДатаКонца=ДатаНачала;
КонецПроцедуры   
Кнопочка Спасибо - слева!

Яна93

Цитата: sergejK74 от 28 фев 2012, 14:28
Так попробуй

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

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


Процедура ПриОткрытии()
   ДатаНачала=Дата(ТекущаяДата()+1);
   ДатаКонца=ДатаНачала;
КонецПроцедуры   


Спасибо большое Сейгей :*
Я кстати вот как сделала:
//*******************************************
Процедура Сформировать()         
   Таб=СоздатьОбъект("Таблица");
   Док=СоздатьОбъект("Документ");   
   Таб.ВывестиСекцию("Шапка");
   Док.ВыбратьДокументы(ДатаНачала,ДатаКонца);
    Пока Док.ПолучитьДокумент()=1 Цикл
      Если (Док.Вид()="ПоступлениеТМЦ") Или (Док.Вид()="Реализация") Тогда
         Если ПустоеЗначение(Док.Комментарий)=0 Тогда
            Если Док.Проведен()=1 Тогда
               Таб.ВывестиСекцию("Строка");
            КонецЕсли;   
         КонецЕСли;
      КонецЕСли;   
   КонецЦикла;   
   
   Таб.ТОлькоПросмотр(1);
   Таб.Показать();

КонецПроцедуры

Процедура ПриОткрытии()
   ДатаНачала=Дата(ТекущаяДата()+1);
   ДатаКонца=ДатаНачала;
КонецПроцедуры   


но хочу еще колонки добавить с суммай и датой..вот думаю пока как это в коде прописать...

sergejK74

Дата = Док.ДатаДок; Сумма = Док.Итог("Сумма")
Если выбирать запросом, то отчет строится быстрее
Кнопочка Спасибо - слева!

Яна93

Цитата: sergejK74 от 28 фев 2012, 19:57
Дата = Док.ДатаДок; Сумма = Док.Итог("Сумма")
Если выбирать запросом, то отчет строится быстрее
Спасибо большое Сергей:* Всегда ты выручаешь)

Теги:

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

Рейтинг@Mail.ru

Поиск