Список граждан для сверки с военкоматом (с детализацией по семейному положению и образованию) для ЗУП 3.1, Зик ГУ

14.08.22

Учетные задачи - Кадровый учет

С помощью расширения заполняем отчет так, как нужно Военкомату (а, следовательно, и Отделу кадров) - добавляем дни рождения членов семьи и полные данные об образовании. Добавлен вариант с выводом адреса прописки вместо адреса проживания (отдельным файлом)

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Список граждан для сверки с военкоматом (с детализацией по семейному положению и образованию) для ЗУП 3.1:
.cfe 15,94Kb ver:2
59
59 Скачать (1 SM) Купить за 1 850 руб.
Список граждан для сверки с военкоматом (с детализацией по семейному положению и образованию) для ЗУП 3.1 (с адресом прописки вместо адреса проживания):
.cfe 15,74Kb ver:2
71
71 Скачать (1 SM) Купить за 1 850 руб.

ПОРЯДОК РАБОТЫ
 

а) Подключаем расширение;
б) чистим регистр сведений "Строковые сведения физических лиц", зайдя в него через Все функции (выделить все - удалить записи);
в) заполняем заново кнопкой "Обновить записи" расширения формы списка этого регистра (см скриншот).

Обновлено 14.08.2022 (обе версии расширения)

1. Добавлено форматирования места рождения
2. Проверено на ЗУП3 (3.1.18.521)

 


ТЕХНИЧЕСКАЯ СТОРОНА

Заполнение разобьем на две части - заполнение дат рождения членов семьи и заполнение данных об образовании.

1. Даты рождения членов семьи.

В отчет данные о семье берутся из Регистра сведений "Строковые сведения физических лиц".
Регистр этот записывается при изменении состава члена семьи в ФЛ/сотруднике. Ну или хотя бы просто перезаписи.
Вся соль - в модуле менеджера этого же самого регистра.
Минимальные действия, которые приводят к желаемому результату - изменение функции

&Вместо("ПредставлениеЧленаСемьи")
Функция Расш_ПредставлениеЧленаСемьи(ЧленСемьи)
    ПредставлениеЧленаСемьи = "%1: %2, %3";
    ПредставлениеЧленаСемьи = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ПредставлениеЧленаСемьи, ЧленСемьи.СтепеньРодства, ЧленСемьи.ФИО,формат(ЧленСемьи.ДатаРождения,"ДФ=dd.MM.yyyy"));
    Возврат ПредставлениеЧленаСемьи;
КонецФункции

Сюда добавлен параметр %3 и его заполнение - ЧленСемьи.ФИО,формат(ЧленСемьи.ДатаРождения,"ДФ=dd.MM.yyyy")

Что ж, новые записи будут сразу падать, как нам этого хочется. Но что же делать со старыми?

У этого же модуля есть процедура в модуле менеджера -

РегистрыСведений.СтроковыеСведенияФизическихЛиц.ОбновитьСтроковыеСведенияФизическогоЛица(Ссылка);

Так что в расширении я сделал форму списка этого регистра, открываем регистр из "всех функций", выделяем все записи (ctrl+a), нажимаем delete на клавиатуре, затем нажимаем "Обновить записи" на форме.

Так мы заново заполним этот регистр.

2. Полные данные об образовании

С описанием обучения поступим по-другому.

В расширение забираем процедуру формирования отчета -

&Вместо("ВывестиМакетСписокДляСверкиСВоенкоматом")
Процедура Расш_ВывестиМакетСписокДляСверкиСВоенкоматом(ДокументРезультат, РезультатКомпоновки, ДатаОтчета)
...
КонецПроцедуры

и, после строки
 

ЗарплатаКадрыОтчеты.ЗаполнитьПараметрыОбластиМакета(СтрокаТаблицы, ТекСтрока, ДанныеПользовательскихПолейСсылки);

Делаем следующее -
 

ФЛСтроки = ТекСтрока.физическоелицо; // получаем фл
ДанныеОбОбразовании = ПолучитьДанныеОбОбразованииФЛ(ФЛСтроки); // обращаемся к нашей функции (которая собирает представление строк об образовании ФЛ)
СтрокаТаблицы.Параметры.ВидОбразования     = ДанныеОбОбразовании; // и перезаписываем ячейку

 

обработка военкомат воинский учет зуп Список граждан сверки

См. также

Загрузка и выгрузка в Excel Зарплата Кадровый учет Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    65707    100    49    

104

Кадровый учет Бухгалтер Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Аудит и бухгалтерские услуги, юриспруденция Россия Платные (руб)

Печать из ЗУП уведомления о трудовой деятельности для безвизового иностранного гражданина. С 7 января 2024 года безвизовые иностранцы должны уведомлять по утвержденной форме территориальный орган МВД России о ведении трудовой деятельности. Расширение позволит выполнить распечатку уведомления напрямую из программы ЗУП 3.1

3600 руб.

22.02.2024    1172    1    0    

3

Зарплата Кадровый учет Корректировка данных Бухгалтер Пользователь Сложные периодические расчеты 8.3.14 1С:ERP Управление предприятием 2 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

Поддержание базы ЗУП 3.1 в порядке требует знания, внимание и инструменты. Предлагаю свой набор инструментов, для применения которых не нужны сильные знания аналитика или разработчика. Работает всё умно и безопасно.

3 стартмани

17.04.2023    4762    61    Vinzor    6    

25

Кадровый учет Бухгалтер Пользователь Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Групповое формирование и печать Дополнительных соглашений для 1С: Зарплата и управление персоналом ПРОФ и КОРП + 8 печатных форм: Индексация заработной платы, Удаленная работа и предупреждение о COVID-19, Выход из удаленной работы, Кадровый перевод, Кадровый перевод списком, Назначение индивидуальной системы начислений, Переименование филиала, Приказ "Совмещение должностей", Приказ "Совмещение исполнения обязанностей" Что нового: 1.В печатных формах убран весь красный цвет текста 2. В печатных формах в шапках сделано заполнение названия организации, руководителя и основания действия руководителя 3. В печатных формах в подвале сделано заполнение реквизитов организации 4. Добавлена возможность печатать доп соглашения по документу "Изменение плановых начислений"

21600 руб.

24.03.2023    5457    3    0    

5

Зарплата Кадровый учет Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка больше предназначена как основа для своей разработки, чем как универсальное решение. Но можно использовать и как готовое решение для небольшой организации. Переносит данные из файла Excel в ЗУП, по аналогии как данные переносятся из ЗУП 2.5.

7200 руб.

19.01.2023    6746    4    4    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. invistik 1 19.02.19 17:53 Сейчас в теме
Доброе время суток, у меня вопрос, адрес проживания в отчете берется по прописке или место проживания, если мне нужно, что бы в отчет попадал место по прописке как это реализовать?
2. erutan 106 19.02.19 21:48 Сейчас в теме
(1) Здравствуйте!
Тупой и быстрый метод "В лоб" - как последний абзац, перезаполнить ячейку, вызвав свою функцию, которая по ссылке на физлицо вернет нужный нам адрес из запроса.

Возможно, более правильно будет изменить сам запрос, собирающий данные для печати.

Задачи такой не стояло, так что не окунался.
3. erutan 106 19.02.19 23:05 Сейчас в теме
(1) Да, по умолчанию берутся данные Проживания, а не прописки.
Под прописку можно сделать так


&Вместо("ВывестиМакетСписокДляСверкиСВоенкоматом")
Процедура Расш_ВывестиМакетСписокДляСверкиСВоенкоматом(ДокументРезультат, РезультатКомпоновки, ДатаОтчета)
.......
ЗарплатаКадрыОтчеты.ЗаполнитьПараметрыОбластиМакета(СтрокаТаблицы, ТекСтрока, ДанныеПользовательскихПолейСсылки);
			//доработанный блок ++
			ФЛСтроки = ТекСтрока.физическоелицо;
			//ДанныеОбОбразовании = ПолучитьДанныеОбОбразованииФЛ(ФЛСтроки);
			//СтрокаТаблицы.Параметры.ВидОбразования	 = ДанныеОбОбразовании;
			АдресПрописки = ПолучитьАдресПоФЛ(ФЛСтроки);
			если не АдресПрописки="" тогда
				СтрокаТаблицы.Параметры.АдресМестаПроживанияПредставление	 = АдресПрописки;
			конецесли;
			//доработанный блок --
			СтрокаТаблицы.Параметры.ДатаРождения = Формат(ТекСтрока.ДатаРождения, "ДЛФ=Д");

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


функция ПолучитьАдресПоФЛ(фл)    
	адрес = "";
	 запрос = новый запрос;
	 запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|Сотрудники.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Сотрудники КАК Сотрудники
	|ГДЕ
	|Сотрудники.ФизическоеЛицо = &ФизическоеЛицо";
	 запрос.УстановитьПараметр("ФизическоеЛицо", фл);
	 выборка = запрос.Выполнить().Выбрать();
	 если выборка.Следующий() тогда
		 
    КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, 
  		выборка.Ссылка, "АдресПоПропискеПредставление", ТекущаяДата());
		 адрес = КадровыеДанныеСотрудников[0].АдресПоПропискеПредставление 
	 конецесли;
	 
	 возврат адрес
КонецФункции
Показать
user1036607; invistik; +2 Ответить
4. invistik 1 20.02.19 09:12 Сейчас в теме
(3)
(1) Да, по умолчанию берутся данные Проживания, а не прописки.
Под прописку можно сделать так


Спасибо, попробую добавить в форму, запрос...
или в модуль объекта...

Еще рас спасибо за помощь!!!
5. user1282364 17.10.19 11:37 Сейчас в теме
Добрый день. Стоит актуализировать расширение, так как процедура ПервоначальноеЗаполнение…. была убрана из регистра вместо нее теперь ОбновитьСтроковыеСведенияФизическогоЛица.
6. erutan 106 17.10.19 11:46 Сейчас в теме
(5) здравствуйте!
Спасибо за отзыв.

Однако на 3.1 (3.1.10.174) процедура на месте/
Вы уже перешли на ветку 3.1.11 ?
7. user1282364 22.10.19 14:37 Сейчас в теме
8. alex_dor 5 16.01.20 10:53 Сейчас в теме
на релизе 3.1 (3.1.12.113) в процедуре обновления данных в Регистре Сведений написать вот это и работать начнет


&НаСервере
Процедура ОбновитьЗаписиНаСервере()
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ФизическиеЛица.Ссылка КАК Ссылка
		|ИЗ
		|	Справочник.ФизическиеЛица КАК ФизическиеЛица
		|ГДЕ
		|	НЕ ФизическиеЛица.ПометкаУдаления";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
			РегистрыСведений.СтроковыеСведенияФизическихЛиц.ОбновитьСтроковыеСведенияФизическогоЛица(ВыборкаДетальныеЗаписи.Ссылка);
	КонецЦикла;
Показать


КонецПроцедуры
TanitLi; erutan; +2 Ответить
9. user1233998 07.08.20 17:42 Сейчас в теме
На ЗиК ГУ тоже работает, огромное спасибо))))
10. erutan 106 11.08.20 12:20 Сейчас в теме
(9) спасибо за отзыв и за ценную информацию!
11. evkuznetcova 12.10.21 10:50 Сейчас в теме
На ЗУП 18.151 не работает
12. erutan 106 12.10.21 16:08 Сейчас в теме
(11) спасибо за комментарий. Посмотрю, как обновимся
13. erutan 106 09.01.22 17:56 Сейчас в теме
(11) Здравствуйте еще раз.
Перешли на ветку 3.1.18 в конце декабря, протестировал.

На версии 3.1 (3.1.18.336) все работает.

Могу лишь предположить, что у Вас не был снят флаг "Безопасный режим" или "Защита от опасных действий" в списке расширений (в конфигураторе).

В общем, должно работать
14. Lusik 21 08.02.22 17:21 Сейчас в теме
Спасибо большое!
На ЗУП 3.1.20.97 - работает как надо.
Только строчку с форматированием места рождения из типовой конфы добавила, а то "0" и ",,," лишние выводились.
15. erutan 106 08.02.22 21:53 Сейчас в теме
вы знаете, не подумал. Верно говорите.
16. rus_LAN 65 18.04.22 02:01 Сейчас в теме
Огромное спасибо! ЗКГУ релиз (3.1.18.396) работает нормально.
17. user1036607 07.03.23 15:03 Сейчас в теме
Приветствую! А драгоценной функцией ПолучитьДанныеОбОбразованииФЛ не поделитесь?))
Заранее премного благодарен!))
18. user1036607 09.03.23 13:45 Сейчас в теме
Жаль, буду погибать молодым))
19. erutan 106 09.03.23 17:22 Сейчас в теме
(18) Здравствуйте!
Занят был ..

Держите, функция простая (вероятно, можно было через программный интерфейс сделать, более правильно, но все же)


функция ПолучитьДанныеОбОбразованииФЛ(ФЛ)
	ДанныеОбОбразовании="";
	запрос = новый запрос;
	запрос.Текст = "ВЫБРАТЬ
	|	ОбразованиеФЛ.Ссылка,
	|	ОбразованиеФЛ.Владелец КАК ФизическоеЛицо,
	|	ОбразованиеФЛ.УчебноеЗаведение,
	|	ОбразованиеФЛ.ВидОбразования,
	|	ОбразованиеФЛ.ВидДополнительногоОбучения,
	|	ОбразованиеФЛ.Специальность,
	|	ОбразованиеФЛ.Окончание,
	|	ОбразованиеФЛ.Квалификация
	|ИЗ
	|	Справочник.ОбразованиеФизическихЛиц КАК ОбразованиеФЛ
	|ГДЕ
	|ОбразованиеФЛ.Владелец = &Владелец";
	запрос.УстановитьПараметр("Владелец",ФЛ);
	
	тз = запрос.Выполнить().Выгрузить();
	Для Каждого ТекСтрока Из тз Цикл
		
		МассивСтрок = Новый Массив;
		МассивСтрок.Добавить(ТекСтрока);
		
		ДанныеОбОбразовании = ДанныеОбОбразовании + ?(ЗначениеЗаполнено(ДанныеОбОбразовании), Символы.ПС, "") 
		+ Справочники.ОбразованиеФизическихЛиц.ПредставлениеСведенийОбОбразовании(МассивСтрок);
		
	КонецЦикла;
	
	
	
	возврат ДанныеОбОбразовании
КонецФункции
Показать
20. user1036607 10.03.23 11:40 Сейчас в теме
(19)Ух, огромное Вам спасибо!
А то я тут какую-то корявость сделал))

функция ПолучитьДанныеОбОбразованииФЛ(фл)    
    образование = "";
     запрос = новый запрос;
     запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
    |Сотрудники.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.Сотрудники КАК Сотрудники
    |ГДЕ
    |Сотрудники.ФизическоеЛицо = &ФизическоеЛицо";
     запрос.УстановитьПараметр("ФизическоеЛицо", фл);
     выборка = запрос.Выполнить().Выбрать();
     если выборка.Следующий() тогда
         
    КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, 
          выборка.Ссылка, "Образование1УчебноеЗаведение", ТекущаяДата());
	ОбрУчЗав = КадровыеДанныеСотрудников[0].Образование1УчебноеЗаведение;
	
	КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, 
          выборка.Ссылка, "Образование1ВидОбразования", ТекущаяДата());
	ОбрВид = КадровыеДанныеСотрудников[0].Образование1ВидОбразования;
		  
	КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, 
          выборка.Ссылка, "Образование1Окончание", ТекущаяДата());
	ОбрОконч = КадровыеДанныеСотрудников[0].Образование1Окончание;
		  
		  образование = строка(ОбрУчЗав) + ", " + строка(ОбрВид) + ", " + строка(Формат(ОбрОконч,"ДЛФ=DD"));
		 
		 
     конецесли;
     
     возврат образование
 КонецФункции
Показать
21. erutan 106 10.03.23 14:10 Сейчас в теме
(20) у вас через программный интерфейс, так что еще неизвестно, что лучше)
Оставьте свое сообщение