Как программно изменить реквизит Уточнение Наименования в справочниках Сотрудники и Физлица

1. ivnik 583 24.06.21 17:42 Сейчас в теме
Кто может подсказать: Как программно изменить реквизит Уточнение Наименования в справочниках Сотрудники и Физлица? Во внешней обработке команда:

		Для Каждого Текстрока Из ДокументСсылка.Сотрудники Цикл
			
			СотрудникОбъект = Текстрока.Сотрудник.ПолучитьОбъект();
			ФизлицоОбъект = СотрудникОбъект.ФизическоеЛицо.ПолучитьОбъект();
				СотрудникОбъект.УточнениеНаименования = "Кл.";
				ФизлицоОбъект.УточнениеНаименования = "Кл.";
			СотрудникОбъект.Записать();
			ФизлицоОбъект.Записать();
								
		КонецЦикла;
Показать


После выполнения, если открываешь элемент справочника, то там "Уточнение Наименования" выглядит так как хочется, а вот в Списке отображается старое значение! Что еще нужно дописать, чтобы и в Списке отображалось как в элементе?
Спасибо!
Вознаграждение за ответ
Показать полностью
Найденные решения
11. arman1997 19 25.06.21 11:16 Сейчас в теме +1 $m
(10)

&НаСервере
Процедура Команда1НаСервере(МассивСсыллок)
	
  	//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Сотрудники.Ссылка КАК Ссылка
		|ИЗ
		|	Справочник.Сотрудники КАК Сотрудники";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		
            СотрудникОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
            СотрудникОбъект.УточнениеНаименования = "Кл.2";
            СотрудникОбъект.Записать();
			
			МассивСсыллок.Добавить(ВыборкаДетальныеЗаписи.Ссылка);	
	КонецЦикла;
	
	//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

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

&НаКлиенте
Процедура Команда1(Команда)
	//Начинаем выполнение на клиенте
	
	МассивСсыллок = Новый Массив; //Создаем пустой массив
	
	Команда1НаСервере(МассивСсыллок);//Выполняем серверную команду по изменению и передаем туда пустой массив
	
	//Серверная команда вернула нам массив со ссылками, обходим их и оповещаем об изменении
	Для каждого ссылка из МассивСсыллок цикл
		ОповеститьОбИзменении(ссылка);
	КонецЦикла;
	
КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alivan 24.06.21 22:22 Сейчас в теме
(1) Для этого нужно еще изменить в РегистрСведений.ДанныеДляПодбораСотрудников
3. ivnik 583 24.06.21 23:16 Сейчас в теме
(2) Но в этом регистре нет реквизита "Уточнение Наименования", значит к "хвосту" наименования добавлять/заменять вручную?
В Общем модуле есть вроде бы что-то "из этой серии": СотрудникиКлиент.ДополнитьПредставлениеФизическогоЛицаПриИзменении(ЭтотОбъект);
но работает только на Клиенте и как ей воспользоваться я не знаю.
4. ZergKRSK 129 25.06.21 04:01 Сейчас в теме
(3) регистр не при делах. Посмотрите какие интерактивные события происходят при снятии галки "Дополнить представление".
8. ivnik 583 25.06.21 10:17 Сейчас в теме
(4) На скрине по справочнику Сотрудники, по справочнику Физлица тоже самое, только в глобальном модуле "соседняя" функция:
СотрудникиКлиент.ДополнитьПредставлениеФизическогоЛицаПриИзменении(ЭтотОбъект);
Прикрепленные файлы:
5. alivan 25.06.21 09:08 Сейчас в теме
(3) как я понял, вам нужно, чтобы в списке элементов справочника было ФИО сотрудника с уточнением?
Это берется из упомянутого мной регистра . В запросе можно посмотреть.
И если вам нужно, то придется вносить изменения в этот регистр.
6. ivnik 583 25.06.21 10:00 Сейчас в теме
(5) В запросе все замечательно, так как надо, мне нужно чтобы это еще отражалось визуально в справочниках! А в ручную исправить довольно трудоемко, у меня на исправление более 400 сотров и столько же этих самых физлиц. И это не последнее действие, которое мне нужно потом с ними сделать.
9. alivan 25.06.21 10:43 Сейчас в теме
(6) в запросе, которым формируется динамический список, список элементов справочника Сотрудники.
Прикрепленные файлы:
7. arman1997 19 25.06.21 10:07 Сейчас в теме
(1) Проблема в том что нужно оповестить форму об изменениях. После того как были внесены изменения в объект необходимо вызвать функцию ОповеститьОбИзменении() в параметры которой нужно передать ссылки на измененные объекты. Но есть нюанс. Эта функция работает на клиенте, а изменение объекта происходит на сервере. Поэтому нужно сформировать массив из измененных ссылок на сервере и передать его на клиент. После чего обойдя его в цикле оповестить систему об изменении этих объектов.
10. ivnik 583 25.06.21 11:07 Сейчас в теме
(7) Интересное предложение, во внешней обработке реализовать это возможно? Если можно, пожалуйста более подробно, лучше пример кода (с оповещениями формы я сталкиваюсь впервые). Спасибо.
11. arman1997 19 25.06.21 11:16 Сейчас в теме +1 $m
(10)

&НаСервере
Процедура Команда1НаСервере(МассивСсыллок)
	
  	//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Сотрудники.Ссылка КАК Ссылка
		|ИЗ
		|	Справочник.Сотрудники КАК Сотрудники";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		
            СотрудникОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
            СотрудникОбъект.УточнениеНаименования = "Кл.2";
            СотрудникОбъект.Записать();
			
			МассивСсыллок.Добавить(ВыборкаДетальныеЗаписи.Ссылка);	
	КонецЦикла;
	
	//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

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

&НаКлиенте
Процедура Команда1(Команда)
	//Начинаем выполнение на клиенте
	
	МассивСсыллок = Новый Массив; //Создаем пустой массив
	
	Команда1НаСервере(МассивСсыллок);//Выполняем серверную команду по изменению и передаем туда пустой массив
	
	//Серверная команда вернула нам массив со ссылками, обходим их и оповещаем об изменении
	Для каждого ссылка из МассивСсыллок цикл
		ОповеститьОбИзменении(ссылка);
	КонецЦикла;
	
КонецПроцедуры
Показать
12. ivnik 583 25.06.21 12:16 Сейчас в теме
(11) Попробовал, при открытии Справочника (списка) визуально изменений НЕТ, хотя в элементах все записалось.
13. arman1997 19 25.06.21 13:14 Сейчас в теме
(12)Наверно стоит использовать процедуру "при создании на сервере". А если форма уже открыта и вносятся какие-то изменения необходимо вызвать функцию Элементы.Список.Обновить(), эта функция обновит данные в списке на форме.
14. ivnik 583 25.06.21 16:10 Сейчас в теме
(13) Пробовал так и так, даже индексировал базу - в списках справочников по прежнему старые значения.
15. ivnik 583 26.06.21 19:12 Сейчас в теме
(13) Может подскажете: в справочнике Сотрудники на форме элемента есть реквизит (булево) "Дополнять представление", как программно его можно изменить?
Оставьте свое сообщение

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