1с изменить реквизит табличной части

1. YAndrey 22.09.23 13:01 Сейчас в теме
Заблудился в 3х строках, что называется.
Есть Документ, у него табличная часть "Работы", в ней 3 реквизита :
1. Работа (Справочник.Работы)
2. Тариф (Справочник.ТарифыРабот)
3. Значение тарифа (Число)

У справочника работ есть реквизит ТарифОсновной (Справочник.ТарифыРабот)
у справочника ТарифыРабот есть реквизит Тариф.

Нужно, чтобы при изменении Работы в документе заполнялся реквизит документа Тариф из Выбранного элемента Работы.ТарифОсновной и ЗначениеТарифа из Работы.ТарифОсновной.Тариф


Вот код "ПриИзменении"

&НаСервере
Функция РаботыРаботаПриИзмененииНаСервереВернутьТариф(Работа)
Возврат Работа.ТарифОсновной;
КонецФункции

&НаСервере
Функция РаботыРаботаПриИзмененииНаСервереВернутьЗначениеТарифа(Тариф)
Возврат Тариф.Значение;
КонецФункции

&НаКлиенте
Процедура РаботыРаботаПриИзменении(Элемент)
ТекущаяСтрока = Элементы.Работы.ТекущиеДанные;
Если НЕ ТекущаяСтрока.Работа.Пустая() Тогда

ТекущаяСтрока.Тариф = РаботыРаботаПриИзмененииНаСервереВернутьТариф(ТекущаяСтрока.Работа);
ТекущаяСтрока.ЗначениеТарифа = РаботыРаботаПриИзмененииНаСервереВернутьЗначениеТарифа(ТекущаяСтрока.Тариф);

КонецЕсли;


Так вот ЗначениеТарифа устанавливается правильно, а сам тариф - нет. Хотя в ТекущаяСтрока.Тариф он вполне себе вписывается.
Делал и через ЗаполнитьЗначенияСвойств - тож самое. Где я туплю?
По теме из базы знаний
Найденные решения
13. RustamZz 22.09.23 16:42 Сейчас в теме
(12)
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 22.09.23 13:20 Сейчас в теме
(1) А не правильно это как? В этом коде, кроме дважды вызов сервера с контекстом, проблем нет.
3. user620512 22.09.23 13:34 Сейчас в теме
Ага, код норм.
Интересная ситуация - ты сначала получаешь тариф, потом по нему получаешь значение и выходит что значение норм, а сам тариф нет)
4. YAndrey 22.09.23 13:38 Сейчас в теме
Да, блин, именно так и выходит. На форме, где тариф - так и остается пусто. Руками выбирается. Что код не оптимальный, это ясно, просто он низвелся до такого в поисках причины. Вот значение тарифа устанавливается, а сам тариф (на форме) - пустой
5. user620512 22.09.23 13:45 Сейчас в теме
(4) проверь ПутьКДанным на форме у тарифа, сравни со значением ТекущаяСтрока.Тариф (посмотри под отладкой)
6. RustamZz 22.09.23 13:46 Сейчас в теме
(4) Связь параметров выбора как настроена?
7. user620512 22.09.23 13:48 Сейчас в теме
(6) думаю никак, у меня подозрение что типы разные, ведь значение находится/выводится, значит и тариф ранее найден
8. RustamZz 22.09.23 13:52 Сейчас в теме
(7) Такое поведение похоже на то, что настроено на "очищать".
9. YAndrey 22.09.23 13:54 Сейчас в теме
Не, тут все норм, делал и очищать, и не. Связь параметров вообще убирал, и типы одинаковые. Фигня какая-то
10. user620512 22.09.23 13:57 Сейчас в теме
(9) база учебная? кидай Дт-шку
11. YAndrey 22.09.23 14:11 Сейчас в теме
Это расширение. Впрочем, это только начало, там все просто, оч прошу глянуть
Прикрепленные файлы:
аоТА1 - Выгрузка.cfe
12. YAndrey 22.09.23 14:14 Сейчас в теме
Документ аоТА1_НарядЗадание Можно к любой базе подключить, там еще нет ничего. Вообще, к ЗУП будет подключаться. Вот напасть то....
13. RustamZz 22.09.23 16:42 Сейчас в теме
(12)
Прикрепленные файлы:
14. YAndrey 23.09.23 00:52 Сейчас в теме
Спасибо, дружище +1 к карме!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот