Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 июн 2025, 15:57

и снова помощь чайнику(

Автор KY, 31 июл 2017, 09:45

0 Пользователей и 1 гость просматривают эту тему.

KY

Я знаю что по интернету много похожих вопросов, обсмотрела все, перепробовала все, ничего не получается( имеется документ ПротоколОбучения в котором есть реквизит НомерПротокола, и есть справочник с табличной частью Заявка в которой есть реквизит НомерПротокола. Так вот при проведение документа реквизит справочника должен заполниться из этого документа. Не знаю как обратиться к элементу табличной части справочника. И почему то программа ругается на ПолучитьОбъект(), хотя во всех источниках должно быть именно так. Примерный код:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
   Если ЗначениеЗаполнено(НомерПротокола) Тогда
            
      СпрОбъект = Справочник.Работники.ПолучитьОъект();
      НомерПротокола = ?????????   
      СпрОбъект.Записать();
   КонецЕсли;

   КонецПроцедуры

спасибо за ранее

alex0402

Цитата: KY от 31 июл 2017, 09:45Справочник.Работники.ПолучитьОъект();

1) у менеджера нет ПолучитьОбъект(), нужна ссылка на справочник.
2) Сравочники не заполняются при проведении документов (можно, но не рекомендовано), для этого есть регистры.
3) обратиться к строке тч можно, например: так СпрОбъект.Заявка[3].НомерПротокола =
Спасибо за Сказать спасибо

AIFrame

Для начала - подход в корне не правильный. Вместо ТЧ Заявки для элемента справочника, как уже сказали выше - делать регистр сведений Заявки или отдельный справочник Заявки, а на форме уже выводить результат в элемент формы. Прямо этот регистр\подчиненный справочник (списками) с отбором по текущему объекту.

Дальше.
Перед тем как получить объект - получите ссылку, из которой будете получать объект.

Если ЗначениеЗаполнено(НомерПротокола) Тогда
    РаботникСсылка = Справочник.Работники.Найти[ПоКоду, Наименованию, Реквизиту](Значение) // Или запросом       
    СпрОбъект = РаботникСсылка.ПолучитьОъект();
    НоваяСтрока = СпрОбъект.Заявки.Добавить()
    НоваяСтрока.НомерПротокола = ?????????   
    СпрОбъект.Записать();
КонецЕсли;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск