Неверно заполняется значение регистра

1. 1c_uZer 23.05.17 19:15 Сейчас в теме
Здравствуйте! Прошу помочь с проблемой) у меня такая ситуация. Конфигурация ЗУП редакция 3.1.2.213. В справочник "Отражение зарплаты в бухучете" добавил номенклатурные группы, как показано на 1 скрине. Соответственно каждому отражению соответствует своя группа( они находятся друг против друга).
Мной был создан документ и в нем есть ТЧ. и так вот при выборе Способа отражения в данной ТЧ номенклатурная группа должна подставляться автоматически, но у меня почему всегда проставляется "Номенклатурная группа 6". Код высылаю, подскажите где я ошибся...
Код формы документа:

&НаСервере
Функция ПодставновкаНоменклатурнойГруппы(Наименование);
	
	НГ = Справочники.СпособыОтраженияЗарплатыВБухУчете.НайтиПоНаименованию(Наименование);
	
	Возврат НГ.НоменклатурнаяГруппа;
	
КонецФункции

&НаКлиенте
Процедура ТабличнаяЧасть1СпособОтражениеВБухУчетеПриИзменении(Элемент)
	
	ТЧ = Элементы.ТабличнаяЧасть1.ТекущиеДанные;
	
	НомГр = ПодставновкаНоменклатурнойГруппы(ТЧ.НоменклатурнаяГруппа);
	
	ТЧ.НоменклатурнаяГруппа = НомГр;
	
КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
4. Cooler 22 23.05.17 21:37 Сейчас в теме +0.51 $m
(3)
наименование элемента правочника "Отражение в бухучете" не догадываюсь как выдернуть...
Ну вот как называется реквизит под заголовком "Способ отражения в бух.учете" на втором скриншоте?

Назовем его для примера ОтражениеВБухучете, тогда:
НомГр = ПодставновкаНоменклатурнойГруппы(ТЧ.ОтражениеВБухучете.Наименование);


Подставьте вместо ОтражениеВБухучете реальное имя реквизита.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Cooler 22 23.05.17 20:34 Сейчас в теме
(1) Во-первых, добавленный реквизит НоменклатурнаяГруппа какой тип имеет? Если не текстовый, то НайтиПоНаименованию() не обязана корректно работать.

Второе и главное - мне кажется, что в процедуре ТабличнаяЧасть1СпособОтражениеВБухУчетеПриИзменении() вы ищете и присваиваете своей НомГр одно и то же значение - то, что там и без того было. Получается какая-то дурная зацикленность кода.

Конкретно в строчке:
НомГр = ПодставновкаНоменклатурнойГруппы(ТЧ.НоменклатурнаяГруппа);

вы передаете в функцию ПодставновкаНоменклатурнойГруппы() текущую номенклатурную группу, а потом ее же и присваиваете. А если она до того еще не была присвоена, то ищете по наименованию пустое значение - вот программа и "находит" одно и то же, что ей в голову взбредет.

Надо передавать наименование элемента справочника "Отражение в бухучете", как он точно называется не подскажу - ЗУП под рукой нет.
3. 1c_uZer 23.05.17 21:06 Сейчас в теме
(2) ну у меня реквизит номенклатурная группа ссылается на справочник "Номенклатурные группы" созданный мной же, а наименование элемента правочника "Отражение в бухучете" не догадываюсь как выдернуть...реквизит с нужной информацией находит не в самом справочнике а на форме его элемента, и я чет не могу понять как его выцепить...
4. Cooler 22 23.05.17 21:37 Сейчас в теме +0.51 $m
(3)
наименование элемента правочника "Отражение в бухучете" не догадываюсь как выдернуть...
Ну вот как называется реквизит под заголовком "Способ отражения в бух.учете" на втором скриншоте?

Назовем его для примера ОтражениеВБухучете, тогда:
НомГр = ПодставновкаНоменклатурнойГруппы(ТЧ.ОтражениеВБухучете.Наименование);


Подставьте вместо ОтражениеВБухучете реальное имя реквизита.
5. 1c_uZer 24.05.17 05:29 Сейчас в теме
(4) ну вообще вы правильно на мысли подтолкнули, исправил таким образом.

&НаСервере
Функция ПодставновкаНоменклатурнойГруппы(Ссылка);
	
	Возврат Ссылка.НоменклатурнаяГруппа;
	
КонецФункции

&НаКлиенте
Процедура ТабличнаяЧасть1СпособОтражениеВБухУчетеПриИзменении(Элемент)
	
	ТЧ = Элементы.ТабличнаяЧасть1.ТекущиеДанные;
	
	НомГр = ПодставновкаНоменклатурнойГруппы(ТЧ.СпособОтражениеВБухУчете);
	
	ТЧ.НоменклатурнаяГруппа = НомГр;
	
КонецПроцедуры
Показать
Оставьте свое сообщение

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