Имя: Пароль:
1C
1С v8
Получить аналитику из таб части на печать.
0 lirt82
 
24.07.19
12:00
В ERP есть документ "Внутреннее потребление товаров" в таб. части Товары есть составной реквизит "Аналитика" тип Справочники, Доки, Перечисления. Запросом получаю данные для печати макета выбирая в запросе таб. часть Товары и если вывожу этот реквизит "АналитикаРасходов" то в результате запрос ругается "В запросе, формирующем временную таблицу, не могут выбираться вложенные таблицы", потому что в результате запроса в этом поле "АналитикаРасходов" получаю тип ТаблицаЗначений. Пробовал поле преобразовать через ВЫРАЗИТЬ КАК СТРОКА ругается на несовместимость типов. Как исправить? т.е. как этот реквизит "Аналитика" все-таки вывести в макет.
1 Жан Пердежон
 
24.07.19
12:04
у вас ошибка в запросе
2 lirt82
 
24.07.19
12:09
Функция ПолучитьДанныеДляПечатнойФормыЗ6(ПараметрыПечати, МассивОбъектов) Экспорт
    
    ДопКолонка             = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
    ИспользуетсяДопКолонка = ЗначениеЗаполнено(ДопКолонка);
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    Запрос.УстановитьПараметр("ВозвратнаяТара", Перечисления.ТипыНоменклатуры.МногооборотнаяТара);
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ВнутреннееПотреблениеТоваров.Ссылка,
    |    ВнутреннееПотреблениеТоваров.Дата,
    |    ВнутреннееПотреблениеТоваров.ВидЦены,
    |    ВнутреннееПотреблениеТоваров.ВидЦены.ВалютаЦены,
    |       Товары.АналитикаРасходов КАК ПричинаСписания //+ ДОБАВИЛ ПОЛЕ
    |ПОМЕСТИТЬ ТаблицаДокументов
    |ИЗ
    |    Документ.ВнутреннееПотреблениеТоваров КАК ВнутреннееПотреблениеТоваров
    |ГДЕ
    |    ВнутреннееПотреблениеТоваров.Ссылка В (&МассивОбъектов)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Товары.Ссылка КАК Ссылка,
    |    Товары.НомерСтроки КАК НомерСтроки,
    |    Товары.Номенклатура КАК Номенклатура,
    |    Товары.Характеристика КАК Характеристика,
    |    Товары.Упаковка КАК Упаковка,
    |    Товары.Количество КАК Количество,
    |    Товары.КоличествоУпаковок КАК КоличествоУпаковок,
    |    КОНЕЦПЕРИОДА(ТаблицаДокументов.Дата, ДЕНЬ) КАК ДатаПолученияЦены,
    |    ТаблицаДокументов.ВидЦены КАК ВидЦены,
    |    ТаблицаДокументов.ВидЦеныВалютаЦены КАК ВалютаЦены
    |ПОМЕСТИТЬ Товары
    |ИЗ
    |    Документ.ВнутреннееПотреблениеТоваров.Товары КАК Товары
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДокументов КАК ТаблицаДокументов
    |        ПО Товары.Ссылка = ТаблицаДокументов.Ссылка
    |ГДЕ
    |    Товары.Ссылка В(&МассивОбъектов)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ПериодыЦенНоменклатуры.Ссылка,
    |    ПериодыЦенНоменклатуры.НомерСтроки,
    |    ЦеныНоменклатуры.Цена,
    |    ЦеныНоменклатуры.Упаковка
    |ПОМЕСТИТЬ Цены
    |ИЗ
    |    (ВЫБРАТЬ
    |        Товары.Ссылка КАК Ссылка,
    |        Товары.НомерСтроки КАК НомерСтроки,
    |        ЦеныНоменклатуры.ВидЦены КАК ВидЦены,
    |        ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
    |        ЦеныНоменклатуры.Характеристика КАК Характеристика,
    |        МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период
    |    ИЗ
    |        Товары КАК Товары
    |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    |            ПО Товары.ВидЦены = ЦеныНоменклатуры.ВидЦены
    |                И Товары.Номенклатура = ЦеныНоменклатуры.Номенклатура
    |                И Товары.Характеристика = ЦеныНоменклатуры.Характеристика
    |                И Товары.ДатаПолученияЦены >= ЦеныНоменклатуры.Период
    |                И Товары.ВалютаЦены = ЦеныНоменклатуры.Валюта
    |    
    |    СГРУППИРОВАТЬ ПО
    |        Товары.Ссылка,
    |        Товары.НомерСтроки,
    |        ЦеныНоменклатуры.ВидЦены,
    |        ЦеныНоменклатуры.Номенклатура,
    |        ЦеныНоменклатуры.Характеристика) КАК ПериодыЦенНоменклатуры
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    |        ПО ПериодыЦенНоменклатуры.Период = ЦеныНоменклатуры.Период
    |            И ПериодыЦенНоменклатуры.ВидЦены = ЦеныНоменклатуры.ВидЦены
    |            И ПериодыЦенНоменклатуры.Номенклатура = ЦеныНоменклатуры.Номенклатура
    |            И ПериодыЦенНоменклатуры.Характеристика = ЦеныНоменклатуры.Характеристика
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Документы.Ссылка КАК Ссылка,
    |    Документы.Номер КАК Номер,
    |    Документы.Дата КАК ДатаДокумента,
    |    Документы.Дата КАК ДатаСоставления,
    |    Документы.Дата КАК ДатаСдачиВМонтаж,
    |    Документы.Организация КАК Организация,
    |    ПРЕДСТАВЛЕНИЕ(Документы.Склад) КАК СкладПредставление,
    |    Документы.Склад КАК Склад,
    |    "" "" КАК Руководитель,
    |    "" "" КАК ДолжностьРуководителя,
    |    "" "" КАК ГлавныйБухгалтер,
    |    NULL КАК ДокументОснование,
    |    Документы.Склад.ТекущийОтветственный КАК Кладовщик,
    |    Документы.Склад.ТекущаяДолжностьОтветственного КАК ДолжностьКладовщика,
    |    Документы.Ответственный.ФизическоеЛицо КАК Ответственный,
    |    Документы.Склад.ТекущаяДолжностьОтветственного КАК ДолжностьКладовщикаОтправителя,
    |    Документы.ВидЦены КАК УчетныйВидЦены,
    |    Документы.ВидЦены.ВалютаЦены КАК УчетныйВидЦеныВалютаЦены,
    |    ЗНАЧЕНИЕ(Перечисление.ИсточникиИнформацииОЦенахДляПечати.ПоВидуЦен) КАК ИсточникИнформацииОЦенахДляПечати
    |ИЗ
    |    Документ.ВнутреннееПотреблениеТоваров КАК Документы
    |ГДЕ
    |    Документы.Ссылка В(&МассивОбъектов)
    |
    |УПОРЯДОЧИТЬ ПО
    |    ДатаДокумента,
    |    Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Товары.Ссылка КАК Ссылка,
    |    Товары.Ссылка.ВидЦены.ВалютаЦены КАК Валюта,
    |    Товары.Ссылка.Дата КАК Дата,
    |    Товары.Номенклатура КАК Номенклатура,
    |    Товары.Номенклатура.НаименованиеПолное КАК НоменклатураНаименование,
    |    Товары.Характеристика.НаименованиеПолное КАК ХарактеристикаНаименование,
    |    ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения) КАК ЕдиницаИзмерения,
    |    Товары.Номенклатура." + ?(ИспользуетсяДопКолонка, ДопКолонка, "Код") + " КАК НоменклатурныйНомер,
    |    ВЫБОР
    |        КОГДА Товары.Номенклатура.ВидНоменклатуры.ТипНоменклатуры = &ВозвратнаяТара
    |            ТОГДА ИСТИНА
    |        ИНАЧЕ ЛОЖЬ
    |    КОНЕЦ КАК ЭтоВозвратнаяТара,
    |    Товары.Номенклатура.СрокГодности КАК СрокСлужбы,
    |    Товары.Количество КАК Количество,
    |    ВЫРАЗИТЬ(ЕСТЬNULL(Цены.Цена, 0) / ЕСТЬNULL(Цены.Упаковка.Числитель, 1) * Товары.Количество КАК ЧИСЛО(15, 2)) КАК СуммаСНДС,
    |    ВЫРАЗИТЬ(ЕСТЬNULL(Цены.Цена, 0) / ЕСТЬNULL(Цены.Упаковка.Числитель, 1) КАК ЧИСЛО(15, 2)) КАК Цена,
    |       Товары.ПричинаСписания, //+ ДОБАВИЛ ПОЛЕ
    |    Товары.НомерСтроки КАК НомерСтроки
    |ИЗ
    |    Товары КАК Товары
    |        ЛЕВОЕ СОЕДИНЕНИЕ Цены КАК Цены
    |        ПО Товары.Ссылка = Цены.Ссылка
    |            И Товары.НомерСтроки = Цены.НомерСтроки
    |
    |УПОРЯДОЧИТЬ ПО
    |    Ссылка,
    |    НомерСтроки
    |ИТОГИ ПО
    |    Ссылка";
    
    РезультатПакетаЗапросов = Запрос.ВыполнитьПакет();
    
    Возврат Новый Структура(
        "РезультатПоШапке, РезультатПоТоварам",
        РезультатПакетаЗапросов[3],
        РезультатПакетаЗапросов[4]);
    
КонецФункции
3 Жан Пердежон
 
24.07.19
12:17
//+ ДОБАВИЛ ПОЛЕ - вот тут ошибка.
ты не поле добавил, а таблицу.
уж за 10 лет можно было бы запросы подтянуть.
4 lirt82
 
24.07.19
12:23
(3) в запрос я добавил реквизит составного типа, если точнее:). Пни как исправить?
5 hhhh
 
24.07.19
12:26
(4) пернести это    |       Товары.АналитикаРасходов КАК ПричинаСписания//+ ДОБАВИЛ ПОЛЕ
       пониже
6 lirt82
 
24.07.19
12:26
через выбор когда все поля этого составного реквизита? их 38:)
7 lirt82
 
24.07.19
12:37
погодите... в свойствах реквизита АналитикаРасходов у таб. части Товары документа ВнутреннееПотребление указан тип "Характеристика.СтатьиРасходов"
8 lirt82
 
24.07.19
12:37
у этой характеристики тип составной...значит?
9 Жан Пердежон
 
24.07.19
13:13
"ВЫБРАТЬ
    |    ВнутреннееПотреблениеТоваров.Ссылка,
    |    ВнутреннееПотреблениеТоваров.Дата,
    |    ВнутреннееПотреблениеТоваров.ВидЦены,
    |    ВнутреннееПотреблениеТоваров.ВидЦены.ВалютаЦены,
    |    ВнутреннееПотреблениеТоваровТовары.АналитикаРасходов КАК ПричинаСписания//+ ДОБАВИЛ ПОЛЕ
    |ПОМЕСТИТЬ ТаблицаДокументов
    |ИЗ
    |    Документ.ВнутреннееПотреблениеТоваров КАК ВнутреннееПотреблениеТоваров
    |    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВнутреннееПотреблениеТоваров.Товары КАК ВнутреннееПотреблениеТоваровТовары
    |    ПО ВнутреннееПотреблениеТоваров.Ссылка = ВнутреннееПотреблениеТоваровТовары.Ссылка
    |    ВнутреннееПотреблениеТоваровТовары.НомерСтроки=1
    |ГДЕ
    |    ВнутреннееПотреблениеТоваров.Ссылка В (&МассивОбъектов)
10 lirt82
 
24.07.19
13:39
(9) не это первая вт, если в ней выбрать то в последующих ругается
11 catena
 
24.07.19
13:44
(10)Что ругается, как ругается, ты симптомы четко выражай.
Выбор поля в запросе от его типа не зависит.
Ты "ДОБАВИЛ ПОЛЕ" в выборку из временной таблицы, а в самой временной таблице добавил? Если слишком запутанно для тебя, пользуйся конструктором, он лишнего выбрать не даст.
12 lirt82
 
24.07.19
13:47
все разобрался))) не в ту таблицу добавил поле, спутал с консолью, т.е. когда в конфу переносил)) получилось, всем спасибо.
13 lirt82
 
24.07.19
13:49
блин эта невнимательность постоянный бич