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