Имя: Пароль:
1C
1С v8
ВПФ Гарантийный талон
0 dj_romeo
 
27.01.18
17:20
Здравствуйте уважаемые!
Конфигурация Управление торговлей для Украины (2.3.28.1) 1С 8.3

Пытаюсь настроить внешнюю печатную форму в докумете Реализация товаров и услуг.

Для этого а карточке номенклатуры добавлено свойство с наименованием "Гарантия"
Снизу привожу код модуля
Если в таком виде оставляю, то формируется печ. форма, только без серийников
В запросе вижу, что серийник берется из табличной части, если он указан в серии. НО. Нужно вытащить просто серийник, серии не ведутся в базе.
Пытался в запросе писать "ДокСерийныеНомера.СерийныйНомер КАК СерийныйНомер", но при печати выдает ошибку: "Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (Выполнить): {(8, 2)}: Поле не найдено "ДокСерийныеНомера.СерийныйНомер"
<<?>>ДокСерийныеНомера.СерийныйНомер КАК СерийныйНомер,"

Подскажите пожалуйста, как вытащить серийный номер


Вот сам код:

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

    Область = Макет.ПолучитьОбласть("ТабШапка");
    ТабДокумент.Вывести(Область);
    
    ОбластьНоменклатура   = Макет.ПолучитьОбласть("ТабНоменклатура");
    
    
    Индекс = 0;
    ТекНоменклатура   = Неопределено;
    ТекХарактеристика = Неопределено;
    ТекСерия          = Неопределено;
    Обход = РезультатЗапроса.Выбрать();
    Пока Обход.Следующий() Цикл
    
        Если ТекНоменклатура   <> Обход.Номенклатура
         ИЛИ ТекХарактеристика <> Обход.Характеристика
         ИЛИ ТекСерия          <> Обход.Серия
         Тогда
        
            Индекс = Индекс + 1;
            
            ТекНоменклатура   = Обход.Номенклатура;
            ТекХарактеристика = Обход.Характеристика;
            ТекСерия          = Обход.Серия;
            
            ОбластьНоменклатура.Параметры.НомСтр          = Индекс;
            ОбластьНоменклатура.Параметры.ПечНоменклатура = Обход.ПечНоменклатура;
            ОбластьНоменклатура.Параметры.Номенклатура    = Обход.Номенклатура;
            ОбластьНоменклатура.Параметры.ЕдИзм           = Обход.ЕдиницаИзмерения;
            ОбластьНоменклатура.Параметры.ПечЕдИзм        = Обход.ПечЕдиницаИзмерения;
            ОбластьНоменклатура.Параметры.Количество      = Обход.Количество;
            
            СерийныйНомер = ?(ЗначениеЗаполнено(Обход.СерийныйНомер),Обход.СерийныйНомер,"");
            
            ОбластьНоменклатура.Параметры.СерийныйНомер    = СерийныйНомер;
            
            Гарантия = ?(ЗначениеЗаполнено(Обход.Гарантия),Обход.Гарантия,"");
            
            ОбластьНоменклатура.Параметры.ГарантийныйСрок  = Гарантия;
            
            
            ТабДокумент.Вывести(ОбластьНоменклатура);
            
        КонецЕсли;
            
    КонецЦикла;
    
    Область = Макет.ПолучитьОбласть("ТабПодвал");
    Область.Параметры.Ответственный = ?(ТекДок.Ответственный.Ссылка.Пустая()=1,"______________________",ТекДок.Ответственный);
    ТабДокумент.Вывести(Область);
    
    
    Возврат ТабДокумент;

КонецФункции
1 Cyberhawk
 
27.01.18
21:42
Сколько платят за решение вопроса?
2 h-sp
 
27.01.18
22:41
(0) а откуда взялось это странное слово ДокСерийныеНомера?
3 dj_romeo
 
29.01.18
20:13
(2) ну как бы в ОбщемМодуле УчетСерийныхНомеров есть такая функция "ПечатьСерийныхНомеров", через которую формируется общий макет СписокСерийныхНомеров.

С этой функции и содран код
4 cw014
 
29.01.18
20:54
(3) Примкну к (1)
5 dj_romeo
 
30.01.18
12:01
(4) (1) я не понимаю, здесь форум, на котором можно получить помощь, или просто лавочка с бабушками, чтобы потрепаться про цены разработок?
6 Cyberhawk
 
30.01.18
13:04
(5) Ты даже ответить на вроде бы простой вопрос и удовлетворить наш праздный интерес не готов, чего же ты тогда ожидаешь в ответ? :)
7 catena
 
30.01.18
13:12
(3)"В запросе вижу, что серийник берется из табличной части, если он указан в серии. НО. Нужно вытащить просто серийник, серии не ведутся в базе."

Расшифруй что где хранится и откуда берется.