Как решить эту ошибку

1. G_106344807921151868538 08.11.24 15:33 Сейчас в теме
Ошибка при вызове метода контекста (Выполнить)
{Документ.РасходнаяНакладная.МодульОбъекта(90)}: РезультатЗапроса = Запрос.Выполнить();
по причине:
{(29, 20)}: Ошибка обработки представления "РегистрБухгалтерии.Управленческий.Остатки:Недопустимое значение параметра виды субконто."
ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрБухгалтерии.Управленческий.Остатки(

по причине:
{(29, 20)}: Ошибка обработки представления "РегистрБухгалтерии.Управленческий.Остатки:Недопустимое значение параметра виды субконто."
ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрБухгалтерии.Управленческий.Остатки(



Сам код

Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

// регистр Управленческий
Движения.Управленческий.Записывать = Истина;
Движения.Управленческий.Записать();

МетодСписания = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Дата).МетодСписания;
Если Не ЗначениеЗаполнено(МетодСписания) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Незадана учетная политика";
Сообщение.Сообщить();
Отказ = Истина;
Возврат;

КонецЕсли;


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

Суб = Новый Массив;
Суб.Добавить("Номенклатура");
Суб.Добавить("Склады");
Суб.Добавить("Партии");

Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
Запрос.УстановитьПараметр("Склад", ПланыВидовХарактеристик.ВидыСубконто.Склады);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Суб", Суб);
Запрос.УстановитьПараметр("Товары", ПланыСчетов.Управленческий.Товары);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаНоменклатура.Следующий() Цикл
Превышение = ВыборкаНоменклатура.Количество - ВыборкаНоменклатура.КоличествоОстаток;
Если Превышение > 0 Тогда
Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтрШаблон("Нехватает товара %1, в количестве %2", ВыборкаНоменклатура.НоменклатураПредставление,Превышение);
Сообщение.Сообщить();


КонецЕсли;
Если Отказ Тогда

Продолжить;

КонецЕсли;
Сумма = ВыборкаНоменклатура.Количество();
Выборка = ВыборкаНоменклатура.Выбрать();

Пока Выборка.Следующий() И Сумма <> 0 Цикл
Количество = Мин(Выборка.КоличествоОстаток, Сумма);

Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
Движение.Период = Дата;
Движение.КоличествоКт = Количество;
Движение.Сумма = Количество / Выборка.КоличествоОстаток * Выборка.СуммаОстаток;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = Выборка.Номенклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = Склад;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Партии] = Выборка.Партия;
Сумма = Сумма - Количество;
КонецЦикла;
КонецЦикла;
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.Покупатели;
Движение.СчетКт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.Период = Дата;
Движение.Сумма = ВыборкаНоменклатура.СуммаПоДокументу;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаНоменклатура.Номенклатура;
По теме из базы знаний
Найденные решения
2. homer_ 79 08.11.24 15:46 Сейчас в теме
ошибка здесь
Суб = Новый Массив;
Суб.Добавить("Номенклатура");
Суб.Добавить("Склады");
Суб.Добавить("Партии");
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. nomad_irk 76 08.11.24 15:56 Сейчас в теме
(1) Параметр ограничения видов субконто должен содержать в себе набор видов субконто, а не их строковое представления.
2. homer_ 79 08.11.24 15:46 Сейчас в теме
ошибка здесь
Суб = Новый Массив;
Суб.Добавить("Номенклатура");
Суб.Добавить("Склады");
Суб.Добавить("Партии");
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот