helpf.pro
Регистрация

v8: Поле объекта не обнаружено(Остаток)

vadim1995
18.01.2021 11:53Прочитано: 730

Invalid File Format! Only: rar, zip, 7z, erf epf, ert, doc, pdf 

Yandex
Возможно, вас также заинтересует
Реклама на портале
vadim1995
18.01.2021 12:01Ответ № 1

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

{Документ.ПеремещениеТоваров.Форма.ФормаДокумента.Форма(26)}: Поле объекта не обнаружено (Остаток)

Возврат Выборка.Остаток. Не кто не знает как сделать так что бы поле остаток заполнялось из регистра накопления.

Код 1C v 8.3
 &НаКлиенте
Процедура ТоварыТоварПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.ЕдиницаИзмерения = ПолучитьЗначениеРеквизита(СтрокаТабличнойЧасти.Товар, "ЕдиницаИзмерения");   
СтрокаТабличнойЧасти.Остаток = ПолучитьОстаток(СтрокаТабличнойЧасти.Товар);  
КонецПроцедуры


Функция ПолучитьЗначениеРеквизита(Ссылка, ИмяРеквизита)
    Возврат Ссылка[ИмяРеквизита]
КонецФункции
&НаСервере
Функция ПолучитьОстаток(Ссылка)
 Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   | ТоварыНаСкладахОстатки.Товар КАК Товар,
                   | ТоварыНаСкладахОстатки.Склад КАК Склад,
                   | ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
                   | ТоварыНаСкладахОстатки.СуммаОстаток КАК СуммаОстаток
                   |ИЗ
                   | РегистрНакопления.ТоварыНаСкладах.Остатки(, Товар =Товар) КАК ТоварыНаСкладахОстатки";
    Запрос.УстановитьПараметр("Товар", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Выборка.Остаток
    КонецЕсли;
    Возврат 0;
КонецФункции


vadim1995
18.01.2021 12:22Ответ № 2

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

{Документ.ПеремещениеТоваров.Форма.ФормаДокумента.Форма(26)}: Поле объекта не обнаружено (Остаток)

Код 1C v 8.3
 НаКлиенте
Процедура ТоварыТоварПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.ЕдиницаИзмерения = ПолучитьЗначениеРеквизита(СтрокаТабличнойЧасти.Товар, "ЕдиницаИзмерения");   
СтрокаТабличнойЧасти.Остаток = ПолучитьОстаток(СтрокаТабличнойЧасти.Товар);  
КонецПроцедуры


Функция ПолучитьЗначениеРеквизита(Ссылка, ИмяРеквизита)
    Возврат Ссылка[ИмяРеквизита]
КонецФункции
&НаСервере
Функция ПолучитьОстаток(Ссылка)
 Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   | ТоварыНаСкладахОстатки.Товар КАК Товар,
                   | ТоварыНаСкладахОстатки.Склад КАК Склад,
                   | ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
                   | ТоварыНаСкладахОстатки.СуммаОстаток КАК СуммаОстаток
                   |ИЗ
                   | РегистрНакопления.ТоварыНаСкладах.Остатки(, Товар =Товар) КАК ТоварыНаСкладахОстатки";
    Запрос.УстановитьПараметр("Товар", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Выборка.Остаток
    КонецЕсли;
    Возврат 0;
КонецФункции


Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.