УНФ - распределение затрат - ошибка (поле объекта не обнаружено - ИспользоватьПартии)

Типовая конфигурация УНФ (Управление небольшой/нашей фирмой). Релиз 1.6.15.58. Был введен документ "Распределение затрат". При попытке повторного открытия формы документа выдается сообщение "поле объекта не обнаружено (ИспользоватьПартии)".

 

Вот такое сообщение:

Ошибка проявляется не всегда. Она может возникнуть том случае, если в документе есть распределение затрат на продукцию с заполненным полем "Партия".

Причиной ее является то, что в УНФ во всех формах документов где есть партии, в форме к табличной части объекта добавляются служебные колонки. Однако в табличной части "РаспределениеЗатрат" документа "РаспределениеЗатрат" двух колонок, связанных с партиями, нет.

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

  1. Процедура ПриЧтенииНаСервере(ТекущийОбъект)
  2.  
  3. // оквита
  4. осПередЧтениемСозданиемНаСервере(ТекущийОбъект);
  5. // /оквита
  6. ...
  7. </p><p>Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
  8.  
  9. // оквита
  10. осПередЧтениемСозданиемНаСервере(Объект, Отказ, СтандартнаяОбработка);
  11. // /оквита
  12. ...
  13. </p><p>
  14. Процедура осПередЧтениемСозданиемНаСервере(ТекущийОбъект, Отказ = Ложь, СтандартнаяОбработка = Истина)
  15. ВсеРекв = ПолучитьРеквизиты("Объект.РаспределениеЗатрат");
  16. Для каждого рекв Из ВсеРекв Цикл
  17. Если рекв.Имя = "ИспользоватьПартии" Тогда
  18. Возврат;
  19. КонецЕсли;
  20. КонецЦикла;
  21.  
  22. ма = Новый Массив;
  23. рекв = Новый РеквизитФормы("ИспользоватьПартии", Оквита.онОписаниеТипа("Булево"), "Объект.РаспределениеЗатрат", "Использовать партии");
  24. ма.Добавить(рекв);
  25. рекв = Новый РеквизитФормы("ПроверятьЗаполнениеПартий", Оквита.онОписаниеТипа("Булево"), "Объект.РаспределениеЗатрат", "Проверять заполнение партий");
  26. ма.Добавить(рекв);
  27. ИзменитьРеквизиты(ма);
  28. КонецПроцедуры
 

 

 

Обновлено 22.09.2018 20:01
 
home search