Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 07:14
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: вывод из запроса в табличный документ  (Прочитано 5523 раз)

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

Оффлайн tema111

  • *
  • Сообщений: 49
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-04-17
  • Сайт: 
  • Профессия: Ученик 1С
привет всем!

   ТабДок = Новый ТабличныйДокумент;
   
   Макет = ПолучитьМакет("Макет");
   
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ Различные
   |Номен.Родитель.Ссылка как Родитель,
    |Номен.Наименование как Товар,
    |ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход как Количество,
   |Реализация.Автосалон как Автосалон,
   |Реализация.Склад как Склад,
   |Реализация.Сотрудник как Сотрудник,
   |СрезПоследних.Цена  как Цена
|ИЗ
   |РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон) КАК ТоварыНаСкладахОстаткиИОбороты
   |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номен
   |ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = Номен.Ссылка,
      
   |Левое Соединение Документ.Реализация как Реализация
   |по ТоварыНаСкладахОстаткиИОбороты.Номенклатура = Реализация.Товары.Товар.Ссылка,
   
   |Левое Соединение РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон) как СрезПоследних
   |по  ТоварыНаСкладахОстаткиИОбороты.Номенклатура = СрезПоследних.Номенклатура   
   
   |где Номен.Родитель в иерархии (&название)  и ЭтоГруппа = ложь
   |Итоги Сумма (ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) По
|Номен.Родитель.Ссылка Иерархия";

Запрос.УстановитьПараметр("ДатаКон", ДатаОкончания);
Запрос.УстановитьПараметр("ДатаНач", ДатаНачала);
Запрос.УстановитьПараметр("Название", ГруппаТоваров);
Выборка  = Запрос.Выполнить().Выбрать();

ОбластьШапкаГруппа = Макет.ПолучитьОбласть("Шапка|ГруппаТоваров");
ОбластьРодительГруппа = Макет.ПолучитьОбласть("Родитель|ГруппаТоваров");
ОбластьСтрокаГруппа = Макет.ПолучитьОбласть("СтрокаДетали|ГруппаТоваров");

ОбластьШапкаНазвание = Макет.ПолучитьОбласть("Шапка|Название");
ОбластьСтрокаНазвание = Макет.ПолучитьОбласть("СтрокаДетали|Название");

ОбластьШапкаКоличество = Макет.ПолучитьОбласть("Шапка|Количество");
ОбластьРодительКоличество = Макет.ПолучитьОбласть("Родитель|Количество");
ОбластьСтрокаКоличество = Макет.ПолучитьОбласть("СтрокаДетали|Количество");
   

Если ЭлементыФормы.Автосалон.Значение = Ложь и ЭлементыФормы.Склад.Значение = Ложь и
    ЭлементыФормы.Сотрудник.Значение = Ложь и ЭлементыФормы.ЦенаТовара.Значение = Ложь Тогда
   
    ТабДок.Вывести(ОбластьШапкаГруппа);
    ТабДок.Присоединить(ОбластьШапкаНазвание);
    ТабДок.Присоединить(ОбластьШапкаКоличество);

   Пока Выборка.Следующий() Цикл

   ОбластьРодительГруппа.Параметры.Группа = Выборка.Родитель;
      
   ТабДок.Вывести(ОбластьРодительГруппа);
        ОбластьСтрокаНазвание.Параметры.Товар = Выборка.Товар;
        ТабДок.присоединить(ОбластьСтрокаНазвание);
      
        ОбластьСтрокаКоличество.Параметры.Количество = Выборка.Количество;
        ТабДок.присоединить(ОбластьСтрокаКоличество);
      
    КонецЦикла;
    КонецЕсли;

   ТабДок.Показать("Отчет по продажам");
КонецПроцедуры




как можно убрать эти лишние группы в запросе? пытался группировать - не получилось

вот макет


Оффлайн DirecTwiX

  • ***
  • Сообщений: 185
  • РЕПУТАЦИЯ: 19
  • КПД: 10%
  • Регистрация: 2012-03-27
  • Сайт: 
  • Профессия: Программист 1С
Выборка  = Запрос.Выполнить().Выбрать();
Заменить на
Выборка  = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Оффлайн tema111

  • *
  • Сообщений: 49
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-04-17
  • Сайт: 
  • Профессия: Ученик 1С
теперь вот так. без товара=(

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
внутри Выборка  = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
делаешь еще один цикл, уже по детальным записям
ВыборкаДетальныеЗаписи  = Выборка.Выбрать();

Поищи книжку Простые примеры разработки. Там в главе про табличный документ - это самый первый пункт с большим-большим примером
Кнопочка Спасибо - слева!

Оффлайн DirecTwiX

  • ***
  • Сообщений: 185
  • РЕПУТАЦИЯ: 19
  • КПД: 10%
  • Регистрация: 2012-03-27
  • Сайт: 
  • Профессия: Программист 1С
теперь вот так. без товара=(
Так ты ж сам их зачеркнул)
Тогда да, как sergejK сказал)

Оффлайн tema111

  • *
  • Сообщений: 49
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-04-17
  • Сайт: 
  • Профессия: Ученик 1С
Запрос.УстановитьПараметр("ДатаКон", ДатаОкончания);
Запрос.УстановитьПараметр("ДатаНач", ДатаНачала);
Запрос.УстановитьПараметр("Название", ГруппаТоваров);
Выборка  = Запрос.Выполнить();

ОбластьШапкаГруппа = Макет.ПолучитьОбласть("Шапка|ГруппаТоваров");
ОбластьРодительГруппа = Макет.ПолучитьОбласть("Родитель|ГруппаТоваров");
ОбластьСтрокаГруппа = Макет.ПолучитьОбласть("СтрокаДетали|ГруппаТоваров");

ОбластьШапкаНазвание = Макет.ПолучитьОбласть("Шапка|Название");
ОбластьСтрокаНазвание = Макет.ПолучитьОбласть("СтрокаДетали|Название");


ОбластьШапкаКоличество = Макет.ПолучитьОбласть("Шапка|Количество");
ОбластьРодительКоличество = Макет.ПолучитьОбласть("Родитель|Количество");
ОбластьСтрокаКоличество = Макет.ПолучитьОбласть("СтрокаДетали|Количество");
   

Если ЭлементыФормы.Автосалон.Значение = Ложь и ЭлементыФормы.Склад.Значение = Ложь и
    ЭлементыФормы.Сотрудник.Значение = Ложь и ЭлементыФормы.ЦенаТовара.Значение = Ложь Тогда
   
    ТабДок.Вывести(ОбластьШапкаГруппа);

    ТабДок.Присоединить(ОбластьШапкаНазвание);

    ТабДок.Присоединить(ОбластьШапкаКоличество);

  ВыборкаГруппа = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
  ВыборкаГруппа.Следующий();
  ОбластьРодительГруппа.Параметры.Группа = ВыборкаГруппа.Родитель;
  ТабДок.Вывести(ОбластьРодительГруппа);
 
   ВыборкаДетальныеЗаписи = Выборка.Выбрать();
   
       Пока ВыборкаДетальныеЗаписи.Следующий() Цикл      
   
      ОбластьСтрокаНазвание.Параметры.Товар = ВыборкаДетальныеЗаписи.Товар;
      ТабДок.вывести(ОбластьСтрокаНазвание);

      ОбластьСтрокаКоличество.Параметры.Количество = ВыборкаДетальныеЗаписи.Количество;
      ТабДок.присоединить(ОбластьСтрокаКоличество);

    КонецЦикла;

    КонецЕсли;



теперь только группа АВТОМОБИЛИ.

и может  как-то неправильно присоединяю области? почему товары выводятся не в той колонке?

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
не в той колонке потому что область с ценой не выводишь.
Кнопочка Спасибо - слева!

Оффлайн tema111

  • *
  • Сообщений: 49
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-04-17
  • Сайт: 
  • Профессия: Ученик 1С
все равно также=(

и почему еще выводит только одну группу?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл


А для группы где ЦИКЛ ???????????
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

не находить контрагента (Выбрать * Из Документ ГДЕ контрагент = "имя контрагента")

Автор Ivan94Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 231
Последний ответ 23 Окт 2017, 23:14
от Ivan94
Какова взаимосвязь объектов конфигурации "Договоры" и "Документ"?

Автор DDDРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 4394
Последний ответ 25 Ноя 2008, 10:43
от DDD
Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 9323
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
не могу вывести отображение цен в "подборе" документ "Заявка покупателя" УТ 10.3

Автор Виталий ЕмельяновРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3895
Последний ответ 05 Окт 2015, 19:22
от Виталий Емельянов
Как программно открыть документ программно

Автор СерьезныйЧеловекРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 18996
Последний ответ 10 Ноя 2010, 14:08
от Lexius

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
160 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
27 Сообщений
Golickoff Golickoff
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 297
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal