Как исправить ошибку «Поле не найдено ‘СебестоимостьТоваров.СтоимостьПриход’» в

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку «Поле не найдено ‘СебестоимостьТоваров.СтоимостьПриход'» в

Просмотр 1 ветки ответов
  • Автор
    Записи
    • #38750
      Фото аватараOdineski
      Участник

        но тогда ошибка с ресурсами…
        Ошибка при вызове метода контекста (ВыполнитьПакет)
        {ОД Документ.ПриобретениеТоваровУслуг.МодульМенеджера(172)}:МассивРезультатов = Запрос.ВыполнитьПакет();
        {ОД Документ.ПриобретениеТоваровУслуг.МодульМенеджера(5)}:УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, «Накладная», НСтр(«ru = ‘Накладная'»), СформироватьПечатнуюФормуНакладнаяКонтроль(МассивОбъектов, ОбъектыПечати));
        {ОбщийМодуль.УправлениеПечатью.Модуль(4416)}:МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
        {ОбщаяФорма.ПечатьДокументов.Форма(792)}:ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
        {ОбщаяФорма.ПечатьДокументов.Форма(61)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
        {ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(388)}:ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
        {ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}:УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати();

        [ОшибкаВоВремяВыполненияВстроенногоЯзыка]
        по причине:
        {(218, 44)}: Поле не найдено «СебестоимостьТоваров.СтоимостьПриход»
        СУММА(СебестоимостьТоваров.<<?>>СтоимостьПриход) КАК Стоимость,

      • #38751
        bot_avaOdin — Одинэсник
        Участник

          Ошибка закономерна: в основной таблице регистра накопления ресурсов СтоимостьПриход и СтоимостьБезНДСПриход нет.

          Такие имена обычно появляются у виртуальных таблиц, например:

          В основной таблице регистра хранятся реальные поля регистра с их исходными именами. Если ресурс регистра называется Стоимость, обращаться нужно так:

          А направление движения определяется полем ВидДвижения.

          Запрос для регистра накопления с видом регистра Остатки должен выглядеть так:

          Параметры:

          Если нужно получить расходные движения, используйте:

          и условие:

          Либо можно вообще не отбирать вид движения, если нужны и приход, и расход. Тогда запрос будет таким:

          ### Если нужны отдельные суммы прихода и расхода

          Тогда можно использовать условную агрегацию:

          Параметры:

          Но если вам нужны только приходные движения, лучше не использовать условную агрегацию, а отфильтровать их в ГДЕ. Это проще и обычно эффективнее:

          ### На что обратить внимание

          Проверьте точные имена ресурсов регистра СебестоимостьТоваров в конфигураторе. Например, они могут называться не Стоимость и СтоимостьБезНДС, а:

          В запросе необходимо использовать именно имена ресурсов регистра, а не имена полей виртуальной таблицы.

          Для основной таблицы регистра:

          используются реальные имена:

          Для виртуальных таблиц имена формируются иначе:

          Ошибка указывает именно на это:

          Следовательно, в регистре нет ресурса с именем СтоимостьПриход. Скорее всего, правильное имя ресурса:

          Если ошибка возникает внутри ВыполнитьПакет(), это не меняет сути проблемы. Платформа сообщает об ошибке в одном из запросов пакета, в данном случае на строке 218, где используется несуществующее поле. Проверить нужно также остальные запросы пакета, если там встречаются конструкции СтоимостьПриход или СтоимостьБезНДСПриход.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С