|
Ошибка в форме для подбора, поле объекта не обнаружено | ☑ | ||
---|---|---|---|---|
0
ilyuza95
17.04.18
✎
17:11
|
Есть Документ ПродажаТоваров. Ошибок при сохранении конфигурации не возникает, но после выбора в форме для подбора товар\услугу, выходит ошибка:
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(74)}: Поле объекта не обнаружено (Oк) Если ФормаПодбора.ОткрытьМодально() = КодВозвратаДиалога.Oк Тогда Все команды и кнопки в формах прописаны вроде как правильно, переписывались несколько раз уже. Все равно одна и та же ошибка Модуль ФормаДокумента: &НаКлиенте Процедура ТоварыКоличествоПриИзменении(Элемент) Стр = Элементы.Товары.ТекущиеДанные; Стр.Сумма = Стр.Количество * Стр.Цена; Объект.СуммаДокумента=Объект.Товары.Итог("Сумма"); КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьЦенуНоменклатуры(Дата, Контрагент,Номенклатура) Отбор=Новый Структура("Контрагент, Номенклатура", Контрагент, Номенклатура); Запись = РегистрыСведений.ЦеныПоставщиков.ПолучитьПоследнее(Дата,Отбор); Возврат Запись.Цена; КонецФункции &НаКлиенте Процедура ТоварыНоменклатураПриИзменении(Элемент) Стр = Элементы.Товары.ТекущиеДанные; Стр.Цена=ПолучитьЦенуНоменклатуры(Объект.Дата, Объект.Контрагент, Стр.Номенклатура); ТоварыКоличествоПриИзменении(Элемент); КонецПроцедуры &НаСервере Процедура ПересчитатьНаСервере() Документ = РеквизитФормыВЗначение("Объект"); Документ.Пересчитать(); ЗначениеВРеквизитФормы(Документ, "Объект"); КонецПроцедуры &НаКлиенте Процедура КонтрагентПриИзменении(Элемент) ПараметрыОпций = Новый Структура("КонтактноеЛицо", Объект.Контрагент); УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); КонецПроцедуры &НаСервере Процедура КонтрагентПриИзмененииСервер() Документ = РеквизитФормыВЗначение("Объект"); Документ.Пересчитать(); ЗначениеВРеквизитФормы(Документ, "Объект"); КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ПараметрыОпций = Новый Структура("КонтактноеЛицо", Объект.Контрагент); УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); КонецПроцедуры &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Объект.СуммаДокумента=Объект.Товары.Итог("Сумма"); КонецПроцедуры &НаСервере Функция ПоместитьТоварыВХранилище() Возврат ПоместитьВоВременноеХранилище(Объект.Товары.Выгрузить(,"Номенклатура,Количество"), УникальныйИдентификатор); КонецФункции &НаСервере Процедура ПолучитьТоварыИзХранилища(Адрес) Объект.Товары.Загрузить(ПолучитьИзВременногоХранилища(Адрес)); КонецПроцедуры &НаКлиенте Процедура ПодборВыполнить() Адрес = ПоместитьТоварыВХранилище(); ПараметрыПодбора = Новый Структура("Адрес,Склад", Адрес,Объект.Склад); ФормаПодбора = ПолучитьФорму("Документ.ПродажаТоваров.Форма.ФормаДляПодбора", ПараметрыПодбора); Если ФормаПодбора.ОткрытьМодально() = КодВозвратаДиалога.Oк Тогда ПолучитьТоварыИзХранилища(Адрес); КонецЕсли; КонецПроцедуры Модуль ФормаДляПодбора: &НаКлиенте Процедура ОкВыполнить(Команда) ЗаписатьПодборВХранилище(); Закрыть(КодВозвратаДиалога.Ок); КонецПроцедуры &НаСервере Процедура ЗаписатьПодборВХранилище() ПоместитьВоВременноеХранилище(Товары.Выгрузить(), Параметры.Адрес); КонецПроцедуры &НаКлиенте Процедура СписокВыборЗначения(Элемент, Значение, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Номенклатура = Элемент.ТекущаяСтрока; Строки = Товары.НайтиСтроки(Новый Структура("Номенклатура", Номенклатура)); Если Строки.Количество() > 0 Тогда Строки[0].Количество = Строки[0].Количество + 1; Иначе Стр = Товары.Добавить(); Стр.Номенклатура = Номенклатура; Стр.Количество = 1; КонецЕсли; КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Список.Параметры.УстановитьЗначениеПараметра("Склад",Параметры.Склад); КонецПроцедуры |
|||
1
cw014
17.04.18
✎
17:52
|
Отладчик на эту строку пробовал ставить?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |