Прошу помощи у знатоков! Есть 1с ЗУП 3.1 (3.1.8.216) есть отчет типовой "Список граждан для сверки с военкоматом" есть столбик "Семейное положение" информация берется из регистра сведений "Строковые сведения физических лиц", но проблема в том, что в данном регистре у многих сотрудников не заполнено семейное положение, хотя если пройти в карточку физ. лица и перейти в закладку семья, там данные все есть.
Помогите как можно пере заполнить данный регистр, что бы данные попали в него?
Для решения проблемы была взята обработка https://infostart.ru/public/1003806/ где присутствовал механизм перезаписи данного регистра, обработка отработала замечательно, все данные появились, в чем косяк я так и не понял, скорей всего при переносе программы из 2.5 что то не до грузилось и теперь в регистре не хватало данных.
При изменении данных, только после этого в регистр попадает информация, просто перепровести или перезакрыть данные никаких изменений в регистр не добавляют, что бы данные появились нужно зайти в каждый элемент (состав семь или образование) перевыбрать там данные что бы программа отразила изменения и только после этого данные попадут в регистр, а вот как это автоматизировать?
(6) Попробуйте что-нибудь придумать с обработкой Групповое изменнение реквизитов, например менять в ней какой-нибудь незначительный реквизит вроде комментария, тогда должны вызваться обработчики
(7)Пробовал, он просто меняет данные не перезаписывая, поэтому данные меняются в составе семьи, а в регистр все равно не попадает, пробовал да же добавлять реквизит какой ни будь и все равно в регистр не попадает...
Для решения проблемы была взята обработка https://infostart.ru/public/1003806/ где присутствовал механизм перезаписи данного регистра, обработка отработала замечательно, все данные появились, в чем косяк я так и не понял, скорей всего при переносе программы из 2.5 что то не до грузилось и теперь в регистре не хватало данных.
Не было денег на обработку.
Поэтому изменил конфу.
Модуль менеджера регистра сведений СтроковыеСведенияФизическихЛиц:
Код
Функция СтрокаСоставСемьи (ФизическоеЛицо)
СтрокаСоставСемьи = "";
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| РодственникиФизическихЛиц.СтепеньРодства,
| РодственникиФизическихЛиц.Наименование КАК ФИО,
| РодственникиФизическихЛиц.ДатаРождения
|ИЗ
| Справочник.РодственникиФизическихЛиц КАК РодственникиФизическихЛиц
|ГДЕ
| РодственникиФизическихЛиц.Владелец = &ФизическоеЛицо И
// +++ Добавлена необходимость записи в регистр только родственников физ.лица, не помеченных на удаление.
| РодственникиФизическихЛиц.ПометкаУдаления = Ложь
//
|
|УПОРЯДОЧИТЬ ПО
| РодственникиФизическихЛиц.ДатаРождения УБЫВ";
Запрос.УстановитьПараметр("ФизическоеЛицо", ФизическоеЛицо);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
//СтрокаСоставСемьи = СтрокаСоставСемьи + ПредставлениеЧленаСемьи(Выборка) + Символы.ПС; // ---
// +++ Добавлен отбор детей младше 18 лет.
Если ДобавитьМесяц(Выборка.ДатаРождения, 216) <= ТекущаяДата() И
(Выборка.СтепеньРодства = Справочники.СтепениРодстваФизическихЛиц.НайтиПоНаименованию("Дочь") ИЛИ
Выборка.СтепеньРодства = Справочники.СтепениРодстваФизическихЛиц.НайтиПоНаименованию("Сын")) Тогда
Продолжить;
Иначе
СтрокаСоставСемьи = СтрокаСоставСемьи + ПредставлениеЧленаСемьи(Выборка) + Символы.ПС;
КонецЕсли;
//
КонецЦикла;
КонецЕсли;
СтроковыеФункцииКлиентСервер.УдалитьПоследнийСимволВСтроке(СтрокаСоставСемьи);
Возврат СтрокаСоставСемьи;
Выборка = Справочники.ФизическиеЛица.Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.СтроковыеСведенияФизическихЛиц.ОбновитьСтроковыеСведенияФизическогоЛица(Выборка.Ссылка, "СоставСемьи");
КонецЦикла;