Имя: Пароль:
1C
1С v8
Ошибка При выполнении обработчика
0 Rokuske
 
15.10.22
09:52
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ОказаниеУслуги.МодульОбъекта(70)}: Ошибка при вызове метода контекста (Выполнить)
    РезультатЗапроса = Запрос2.Выполнить();
по причине:
{(5, 24)}: Поле не найдено "НоменклатураДокумента.СуммаВДокументе"
НоменклатураДокумента.<<?>>СуммаВДокументе,

Немогу никак понят в чем ошибка


Запрос2 = Новый Запрос;
    Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
    Запрос2.Текст = "ВЫБРАТЬ
                    |    НоменклатураДокумента.Номенклатура,
                    |    НоменклатураДокумента.ВидНоменклатуры,
                    |    НоменклатураДокумента.КоличествоВДокументе,
                    |    НоменклатураДокумента.СуммаВДокументе,
                    |    ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество,
                    |    ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Стоимость
                    |ИЗ
                    |    НоменклатураДокумента КАК НоменклатураДокумента
                    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
                    |                ,
                    |                Материал В
                    |                    (ВЫБРАТЬ
                    |                        НоменклатураДокумента.Номенклатура
                    |                    ИЗ
                    |                        НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки
                    |        ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.Материал
                    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(
                    |                ,
                    |                Материал В
                    |                    (ВЫБРАТЬ
                    |                        НоменклатураДокумента.Номенклатура
                    |                    ИЗ
                    |                        НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки
                    |        ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.Материал";

                    
    // Запишем пустые наборы записей, чтобы читать остатки без учета данных в документе
    Движения.СтоимостьМатериалов.Записать();
    Движения.ОстаткиМатериалов.Записать();
                    
    РезультатЗапроса = Запрос2.Выполнить();
1 rudnitskij
 
15.10.22
11:28
(0) Поле не найдено "НоменклатураДокумента.СуммаВДокументе"
НоменклатураДокумента.<<?>>СуммаВДокументе
-----------------
Такая ошибка обычно говорит о том, что таблица "НоменклатураДокумента" не содержит колонки с названием "СуммаВДокументе"
2 Rokuske
 
15.10.22
11:43
Самое странное, что в виртуальной таблице "НоменклатураДокумента". Я перепроверял и данная колонка была создана, причем сам текст запроса я набирал не в ручную
3 rudnitskij
 
15.10.22
11:44
(2) смотрите отладчиком, другого пути нет
4 rudnitskij
 
15.10.22
11:45
Если не хотите нам показывать текст запроса для менеджера временных таблиц - мы ничем не поможем
5 Rokuske
 
15.10.22
11:45
Понял, спасибо
6 Rokuske
 
15.10.22
11:46
// Создать менеджер временных таблиц
    МенеджерВТ = Новый МенеджерВременныхТаблиц;
    
    Запрос = Новый Запрос;
    
    // Укажем, какой менеджер временных таблиц использует этот запрос
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;    
    
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
        |    ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
        |    СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество) КАК КоличествоВДокументе,
        |    ОказаниеУслугиПереченьНоменклатуры.Сумма
        |ПОМЕСТИТЬ НоменклатураДокумента
        |ИЗ
        |    Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры
        |ГДЕ
        |    ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка
        |
        |СГРУППИРОВАТЬ ПО
        |    ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
        |    ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры,
        |    ОказаниеУслугиПереченьНоменклатуры.Сумма";
7 rudnitskij
 
15.10.22
11:47
(6) вижу колонку с названием "Сумма". С названием "СуммаВДокументе" не вижу
8 rudnitskij
 
15.10.22
11:55
И отладчик не нужен, как оказалось. Хватило навыков обычного чтения