Заблудился в 3х строках, что называется.
Есть Документ, у него табличная часть "Работы", в ней 3 реквизита :
1. Работа (Справочник.Работы)
2. Тариф (Справочник.ТарифыРабот)
3. Значение тарифа (Число)
У справочника работ есть реквизит ТарифОсновной (Справочник.ТарифыРабот)
у справочника ТарифыРабот есть реквизит Тариф.
Нужно, чтобы при изменении Работы в документе заполнялся реквизит документа Тариф из Выбранного элемента Работы.ТарифОсновной и ЗначениеТарифа из Работы.ТарифОсновной.Тариф
Вот код "ПриИзменении"
&НаСервере
Функция РаботыРаботаПриИзмененииНаСервереВернутьТариф(Работа)
Возврат Работа.ТарифОсновной;
КонецФункции
&НаСервере
Функция РаботыРаботаПриИзмененииНаСервереВернутьЗначениеТарифа(Тариф)
Возврат Тариф.Значение;
КонецФункции
&НаКлиенте
Процедура РаботыРаботаПриИзменении(Элемент)
ТекущаяСтрока = Элементы.Работы.ТекущиеДанные;
Если НЕ ТекущаяСтрока.Работа.Пустая() Тогда
ТекущаяСтрока.Тариф = РаботыРаботаПриИзмененииНаСервереВернутьТариф(ТекущаяСтрока.Работа);
ТекущаяСтрока.ЗначениеТарифа = РаботыРаботаПриИзмененииНаСервереВернутьЗначениеТарифа(ТекущаяСтрока.Тариф);
КонецЕсли;
Так вот ЗначениеТарифа устанавливается правильно, а сам тариф - нет. Хотя в ТекущаяСтрока.Тариф он вполне себе вписывается.
Делал и через ЗаполнитьЗначенияСвойств - тож самое. Где я туплю?
Есть Документ, у него табличная часть "Работы", в ней 3 реквизита :
1. Работа (Справочник.Работы)
2. Тариф (Справочник.ТарифыРабот)
3. Значение тарифа (Число)
У справочника работ есть реквизит ТарифОсновной (Справочник.ТарифыРабот)
у справочника ТарифыРабот есть реквизит Тариф.
Нужно, чтобы при изменении Работы в документе заполнялся реквизит документа Тариф из Выбранного элемента Работы.ТарифОсновной и ЗначениеТарифа из Работы.ТарифОсновной.Тариф
Вот код "ПриИзменении"
&НаСервере
Функция РаботыРаботаПриИзмененииНаСервереВернутьТариф(Работа)
Возврат Работа.ТарифОсновной;
КонецФункции
&НаСервере
Функция РаботыРаботаПриИзмененииНаСервереВернутьЗначениеТарифа(Тариф)
Возврат Тариф.Значение;
КонецФункции
&НаКлиенте
Процедура РаботыРаботаПриИзменении(Элемент)
ТекущаяСтрока = Элементы.Работы.ТекущиеДанные;
Если НЕ ТекущаяСтрока.Работа.Пустая() Тогда
ТекущаяСтрока.Тариф = РаботыРаботаПриИзмененииНаСервереВернутьТариф(ТекущаяСтрока.Работа);
ТекущаяСтрока.ЗначениеТарифа = РаботыРаботаПриИзмененииНаСервереВернутьЗначениеТарифа(ТекущаяСтрока.Тариф);
КонецЕсли;
Так вот ЗначениеТарифа устанавливается правильно, а сам тариф - нет. Хотя в ТекущаяСтрока.Тариф он вполне себе вписывается.
Делал и через ЗаполнитьЗначенияСвойств - тож самое. Где я туплю?
По теме из базы знаний
- Как в динамический список управляемой формы документа добавить отбор по реквизиту табличной части этого документа?
- Поиск по реквизиту табличной части в версиях объектов
- Универсальный редактор реквизитов, табличных частей и движений объекта
- Дополнительные реквизиты табличной части документов без изменения хранения данных
- Редактор информационной базы через универсальный отчет БСП 3+ (редактор реквизитов, табличных частей, регистров)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Да, блин, именно так и выходит. На форме, где тариф - так и остается пусто. Руками выбирается. Что код не оптимальный, это ясно, просто он низвелся до такого в поисках причины. Вот значение тарифа устанавливается, а сам тариф (на форме) - пустой
Это расширение. Впрочем, это только начало, там все просто, оч прошу глянуть
Прикрепленные файлы:
аоТА1 - Выгрузка.cfe
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот