Имя: Пароль:
1C
1С v8
Не могу разобраться с запросом
0 AlexMAM
 
23.09.15
00:17
Добрый день. Есть внешняя форма ИНВ-3, которая привязана к Внутреннему перемещению МЗ. После обновления БГУ на релиз 35.2 она перестала работать. Выдает такую ошибку

{ВнешняяОбработка.ПечатьИНВ3_МЗ_ВнутреннееПеремещение.МодульОбъекта(265)}: Значение не является значением объектного типа (Выгрузить)
    ТаблицаТЧ = Выборка.Инвентаризация.Выгрузить();
Данные получаются в этой Функции:

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

Ошибка вываливается в этом месте

ТаблицаТЧ = Выборка.Инвентаризация.Выгрузить();
    ЕстьДопСубконто = (ТаблицаТЧ.Колонки.Найти("СубконтоСчетПредставление") <> Неопределено);
    ЕстьКоличествоФ = (ТаблицаТЧ.Колонки.Найти("КоличествоФ") <> Неопределено);
    ЕстьСуммаФ      = (ТаблицаТЧ.Колонки.Найти("СуммаФ") <> Неопределено);

Как исправить функцию что бы она работала.
1 GreatOne
 
23.09.15
00:59
к чему вообще здесь функция, которая к ошибке не относится?
2 GreatOne
 
23.09.15
00:59
ТаблицаТЧ = Выборка.Инвентаризация.Выгрузить();
Откуда эта выборка?
3 GreatOne
 
23.09.15
01:00
Короче никто и не разбирался с запросом
4 trooba
 
23.09.15
01:23
Само исправилось... Расходимся. Уличная магия
5 AlexMAM
 
23.09.15
21:35
В этой функции и получаем Выборка.Инвентаризация.
6 hhhh
 
24.09.15
02:40
(5) нет здесь получения Выборка. Где-то в другой функции видимо Выборка получается.
7 AlexMAM
 
27.09.15
22:42
Выборка получается в этой функции, по крайней мере это показывает отладчик. Но с ошибкой я разобрался, просто в документе не было позиций номенклатуры.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.