Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

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

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

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

Оффлайн ty

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-20
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день как можно вывести полученные данные в запросе в таком виде как на скрине?


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

       




Оффлайн Rasty

  • *****
  • Сообщений: 976
  • РЕПУТАЦИЯ: 137
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
ну у вас вполне известное количество колонок, так что обычный макет обычное заполнение таб дока
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн ty

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-20
  • Сайт: 
  • Профессия: Ученик 1С
Подразделений может быть много

Оффлайн Rasty

  • *****
  • Сообщений: 976
  • РЕПУТАЦИЯ: 137
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
у таб док есть метод присоединить
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн ty

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-20
  • Сайт: 
  • Профессия: Ученик 1С
А как установить отбор чтобы дальше нужная цена и спецификация попадали в нужное подразделение

 Макет = ПолучитьМакет("Макет");
     ЭлементыФормы.Результат.Очистить();
    Область = Макет.ПолучитьОбласть("Заголовок|Область1");
    Если ЗначениеЗаполнено(Номенклатура) Тогда
        Область.Параметры.Номенклатура = Строка(Номенклатура);
    КонецЕсли;
     Область.Параметры.Подразделения = Подразделения;
    Область.Параметры.ТипЦен = Строка(ТипЦен);
    Область.Параметры.ДатаОкончания = Строка(Формат(ДатаОкончания,"ДФ=dd.MM.yyyy"));
    ЭлементыФормы.Результат.Вывести(Область);
    ЭлементыФормы.Результат.Защита = Истина;
   
            Для Каждого СтрокаПодразделений Из ТаблицаПодразделений Цикл
                ОбластьПодразделения = Макет.ПолучитьОбласть("Заголовок|Подразделение");
                ОбластьПодразделения.Параметры.ПодразделениеОрганизации = Строка(СтрокаПодразделений.Подразделение);
               ОбластьПодразделения.Параметры.РасшифровкаОрганизации = СтрокаПодразделений.Подразделение;
                ЭлементыФормы.Результат.Присоединить(ОбластьПодразделения);    
            КонецЦикла;

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С

Оффлайн ty

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-20
  • Сайт: 
  • Профессия: Ученик 1С
СКД не катит в этой форме будет ёще два отчета по другим параметрам и регистрам а выводиться должно всё в одно окно а вообще вот готовый код
Если Не ЗначениеЗаполнено(Подразделения) Тогда
      Предупреждение("Вы невыбрали ни одного подразделения отчет не может быть сформирован");
      Возврат;
   ИначеЕсли Не ЗначениеЗаполнено(ДатаОкончания) Тогда
      Предупреждение("Вы не указали дату окончания");
      Возврат;
   ИначеЕсли Не ЗначениеЗаполнено(ТипЦен) Тогда
      Предупреждение("Вы не выбрали тип цены");
      Возврат;
   КонецЕсли;
      
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ВнешняяТаблицаПодразделений" , ПодразделенияТЧ);
   Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
   Запрос.УстановитьПараметр("Период", КонецДня(ДатаОкончания));
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ВнешняяТаблицаПодразделений.Подразделение
      |ПОМЕСТИТЬ ВнешняяТаблицаПодразделений
      |ИЗ
      |   &ВнешняяТаблицаПодразделений КАК ВнешняяТаблицаПодразделений
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка,
      |   ВнешняяТаблицаПодразделений.Подразделение,
      |   СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура,
      |   СпецификацииНоменклатурыИсходныеКомплектующие.Количество
      |ПОМЕСТИТЬ Спецификации
      |ИЗ
      |   ВнешняяТаблицаПодразделений КАК ВнешняяТаблицаПодразделений
      |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
      |      ПО ВнешняяТаблицаПодразделений.Подразделение = СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Подразделение
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   Спецификации.Ссылка КАК Спецификация,
      |   Спецификации.Подразделение,
      |   Спецификации.Номенклатура,
      |   Спецификации.Количество,
      |   ЦеныНоменклатурыСрезПоследних.Цена,
      |   ЕСТЬNULL(Спецификации.Количество * ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК СуммаСтроки,
      |   Спецификации.Ссылка.Номенклатура КАК Изделие
      |ИЗ
      |   Спецификации КАК Спецификации
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних
      |      ПО Спецификации.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
      |ГДЕ
      |   ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен";
   
   РезультатЗапроса = Запрос.Выполнить().Выгрузить();
   
   
   ТаблицаПодразделений = РезультатЗапроса.Скопировать();
   ТаблицаИзделий = РезультатЗапроса.Скопировать();
   
   ТаблицаИзделий.Свернуть("Изделие");
   ТаблицаПодразделений.Свернуть("Подразделение");
   РезультатЗапроса.Свернуть("Спецификация, Подразделение, Изделие", "СуммаСтроки");
       
    Макет = ПолучитьМакет("Макет");
     ЭлементыФормы.Результат.Очистить();
    Область = Макет.ПолучитьОбласть("Заголовок|Область1");
    Если ЗначениеЗаполнено(Номенклатура) Тогда
        Область.Параметры.Номенклатура = Строка(Номенклатура);
    КонецЕсли;
     Область.Параметры.Подразделения = Подразделения;
    Область.Параметры.ТипЦен = Строка(ТипЦен);
    Область.Параметры.ДатаОкончания = Строка(Формат(ДатаОкончания,"ДФ=dd.MM.yyyy"));
    ЭлементыФормы.Результат.Вывести(Область);
    ЭлементыФормы.Результат.Защита = Истина;
   
            Для Каждого СтрокаПодразделений Из ТаблицаПодразделений Цикл
                ОбластьПодразделения = Макет.ПолучитьОбласть("Заголовок|Подразделение");
                ОбластьПодразделения.Параметры.ПодразделениеОрганизации = Строка(СтрокаПодразделений.Подразделение);
               ОбластьПодразделения.Параметры.РасшифровкаОрганизации = СтрокаПодразделений.Подразделение;
                ЭлементыФормы.Результат.Присоединить(ОбластьПодразделения);    
            КонецЦикла;
 
       
         Область             = Макет.ПолучитьОбласть("Строка|Область1");
           ОбластьСпецификации = Макет.ПолучитьОбласть("Строка|Подразделение");
         
         Для Каждого СтрокаИзделия ИЗ ТаблицаИзделий Цикл
            Изделие = СтрокаИзделия.Изделие;
            Область.Параметры.Изделие = Строка(СтрокаИзделия.Изделие);
            Область.Параметры.РасшифровкаИзделия = СтрокаИзделия.Изделие;
            ЭлементыФормы.Результат.Вывести(Область);
                          Для Каждого СтрокаПодразделений Из ТаблицаПодразделений Цикл
                             Подразделение = СтрокаПодразделений.Подразделение;
                                          Для Каждого СтрокаРезультатаЗапроса из РезультатЗапроса Цикл
                                                 Если СтрокаРезультатаЗапроса.Подразделение = Подразделение И СтрокаРезультатаЗапроса.Изделие = Изделие Тогда
                                                   ОбластьСпецификации.Параметры.спецификация = Строка(СтрокаРезультатаЗапроса.Спецификация);
                                                  ОбластьСпецификации.Параметры.РасшифровкаСпецификации = СтрокаРезультатаЗапроса.Спецификация;
                                                        ОбластьСпецификации.Параметры.сумма        = Строка(СтрокаРезультатаЗапроса.СуммаСтроки);
                                             ЭлементыФормы.Результат.Присоединить(ОбластьСпецификации);
                                               КонецЕсли;
                                          КонецЦикла;           
                          КонецЦикла;
         КонецЦикла;
         

Добавлено: 21 Июн 2016, 15:40

осталось ещё пару мелких проблем решить


Теги:
 

Какова взаимосвязь объектов конфигурации "Договоры" и "Документ"?

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

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

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

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

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

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

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

Ответов: 5
Просмотров: 17358
Последний ответ 10 Ноя 2010, 14:08
от Lexius
Документ "Сторно" в 1с 8.2 бух 2.0

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

Ответов: 1
Просмотров: 11947
Последний ответ 09 Июн 2011, 12:57
от defers

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

oleg-x
105 Сообщений
alex0402
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
65 Сообщений
ilyay ilyay
49 Сообщений
Golickoff Golickoff
49 Сообщений
AIFrame
47 Сообщений
ab30ru
38 Сообщений
wise wise
34 Сообщений
Амал
30 Сообщений
lansy
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal