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


Получаю ошибку:
Обработчик печатной формы Бирка (внешняя): {ВнешняяОбработка.Бирка.МодульОбъекта(52)}: Ошибка при вызове метода контекста (Выполнить): {(5, 2)}: Ошибка обработки представления "КритерийОтбора.ПодчиненныеДокументы:Несоответствие типов (Параметр номер ""1"")"
<<?>>КритерийОтбора.ПодчиненныеДокументы(&ЗаказНаряд) КАК ПодчиненныеДокументы
1 Ненавижу 1С
 
гуру
08.01.21
20:13
ЗаказНаряд какой тип имеет?
2 Shouldercannon
 
08.01.21
20:48
ДокументСсылка.ЗаказНаряд
3 hhhh
 
09.01.21
06:41
(2) состав теперь смотри у этого критерия, есть там заказ наряд?
4 Shouldercannon
 
09.01.21
11:17
Сделал так
Сообщить("-> " + ЗаказНаряд);
В обоих случаях выводится
-> Заказ-наряд М000000088 от 09.01.2021 10:31:08
-> Заказ-наряд М000000088 от 09.01.2021 10:31:08
5 Shouldercannon
 
09.01.21
15:01
Так ошибки нет и результат тоже. Здесь уже сам делаю неверное соответствие типов
Запрос.УстановитьПараметр("ЗаказНаряд", Строка(ЗаказНаряд));
6 acht
 
09.01.21
15:02
(5) На (3) ответь
7 Shouldercannon
 
09.01.21
15:11
Можно подробнее, что нужно сделать? В 1С не особо силён.
8 hhhh
 
09.01.21
15:14
(7) ну, типа Строка там точно в критерии нет. В чем вопрос-то?
9 Shouldercannon
 
09.01.21
15:38
Сообщить("Тип: " + ТипЗнч(ЗаказНаряд));
Через "Файл - Открыть": Тип: Заказ-наряд
Через ПФ              : Тип: Документ объект: Заказ-наряд
10 ДенисЧ
 
09.01.21
15:55
(9) Ну так передавай в запрос ЗаказНаряд.Ссылка...
Почти сутки канифоления прошло...
11 Ёпрст
 
09.01.21
15:58
(0) открой в дереве метаданных свой критерий отбора и посмотри на состав, есть ли там твой вид документа - наряд.
Если нет, то (0) не взлетит
12 Shouldercannon
 
09.01.21
16:27
ЗаказНаряд.Ссылка
Решило все проблемы.
Всем благодарность