Не получается указать измерение отбора набора записей - "Поле объекта не обнаружено"
19.09.2018
04:58
#1
Добрый день!
Собственно сабж. Есть регистр сведений Бригады с измерением ТранспортныеСредства. Регистр подчинён документу ОформлениеБригады и заполняется на его основе. Я хочу сделать так, чтобы при укомплектовании машины новой бригадой 1С не ругалась на уже существующую запись, а затирала старую и записывала новую. Для этого в модуле документа ОформлениеБригады я модифицировал событие ОбработкаПроведения. Получилось следующее:
ПолучитьТСНаСервере(ТС) - проверочная функция, она пока ничего не возвращает. Но на линии
система выдаёт ошибку "Поле объекта не обнаружено (ТранспортноеСредство)."
Пробовал включать свойство Ведущее в свойствах измерения ТранспортноеСредство, пробовал устанавливать отбор по регистратору - ничего не помогает. Где я прокололся? Как это можно исправить?
Версия 8.3, управляемые формы.
Заранее спасибо!
Собственно сабж. Есть регистр сведений Бригады с измерением ТранспортныеСредства. Регистр подчинён документу ОформлениеБригады и заполняется на его основе. Я хочу сделать так, чтобы при укомплектовании машины новой бригадой 1С не ругалась на уже существующую запись, а затирала старую и записывала новую. Для этого в модуле документа ОформлениеБригады я модифицировал событие ОбработкаПроведения. Получилось следующее:
| Код |
|---|
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Бригады
Движения.Бригады.Записывать = Истина;
Движение = Движения.Бригады.Добавить();
Если ПолучитьТСНаСервере(ТранспортноеСредство) = ТранспортноеСредство Тогда
УдалитьЗаписьПоТС(ТранспортноеСредство);
КонецЕсли;
Движение.ТранспортноеСредство = ТранспортноеСредство;
Движение.Грузчик1 = Грузчик1;
Движение.Грузчик2 = Грузчик2;
Движение.Водитель = Водитель;
// регистр ПоездкиИКилометры
Движения.ПоездкиИКилометры.Записывать = Истина;
Движение = Движения.ПоездкиИКилометры.Добавить();
Движение.Период = Дата;
Движение.ТранспортноеСредство = ТранспортноеСредство;
Движение.Километры = НачальноеЗначениеСчетчика;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
&НаСервере
Функция ПолучитьТСНаСервере(ТС)
НаборЗаписей = РегистрыСведений.Бригады.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ТранспортноеСредство.Установить(ТС);
Выборка=НаборЗаписей.Выбрать();
Если Не Выборка.Следующий() Тогда
Сообщить("Выборка пуста!");
Иначе
Выборка.Следующий();
КонецЕсли;
КонецФункции
&НаСервере
Процедура УдалитьЗаписьПоТС(ТС)
НаборЗаписей = РегистрыСведений.Бригады.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ТранспортноеСредство.Установить(ТС);
НаборЗаписей.Записать();
КонецПроцедуры |
ПолучитьТСНаСервере(ТС) - проверочная функция, она пока ничего не возвращает. Но на линии
| Код |
|---|
НаборЗаписей.Отбор.ТранспортноеСредство.Установить(ТС); |
Пробовал включать свойство Ведущее в свойствах измерения ТранспортноеСредство, пробовал устанавливать отбор по регистратору - ничего не помогает. Где я прокололся? Как это можно исправить?
Версия 8.3, управляемые формы.
Заранее спасибо!
Читают тему
(гостей: 1)