|
Методы заполнения непериодического, независимого регистра сведений Ø (H A D G E H O G s 05.11.2019 10:54) | ☑ | ||
---|---|---|---|---|
0
LivingStar
05.11.19
✎
10:51
|
Заполняю по одной задаче непериодический, независимый регистр сведений.
И решил выяснить. Собрать информацию, какие есть все методы для этого? Я использовал такой, - Если Не РезультатЗапроса.Пустой() Тогда Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.ФИОФизЛица = "Конец таблицы" Тогда Продолжить; КонецЕсли; Если Выборка.ФИОФизЛица = ПредыдущееФИО Тогда НомерСтроки = НомерСтроки - 1; КонецЕсли; Если ЗначениеЗаполнено(Выборка.ФизическоеЛицоСсылка) Тогда Если Выборка.ФИОФизЛица = ПредыдущееФИО и СтрокаВывода = "" Тогда СтрокаВывода = "№ строки " + (НомерСтроки) + "). Найдено несколько карточек физ. лиц " + Выборка.ФИОФизЛица +": " + ПредыдущийКод + ", " + Выборка.Код; Продолжить; ИначеЕсли Выборка.ФИОФизЛица = ПредыдущееФИО и Не СтрокаВывода = "" Тогда СтрокаВывода = СтрокаВывода + ", " + Выборка.Код; Продолжить; ИначеЕсли Не СтрокаВывода = "" Тогда СООБЩИТЬ(СтрокаВывода); СтрокаВывода = ""; НомерСтроки = НомерСтроки + 1; КонецЕсли; МенеджерЗаписи = РегистрыСведений.АнтропометрияФизЛиц.СоздатьМенеджерЗаписи(); МенеджерЗаписи.ФизическоеЛицо = Выборка.ФизическоеЛицоСсылка; // МенеджерЗаписи.Рост = ЧИСЛО(СокрЛП(Выборка.Рост)); // Отбор.Класс(ОдеждаСпециальнаяЗащитная) МенеджерЗаписи.РазмерОдежды = ПолучитьРазмерПоКлассуСИЗ(Перечисления.КлассыСИЗ.ОдеждаСпециальнаяЗащитная, Выборка.РазмерОдежды); // Отбор.Класс(СредстваЗащитыНог) МенеджерЗаписи.РазмерОбуви = ПолучитьРазмерПоКлассуСИЗ(Перечисления.КлассыСИЗ.СредстваЗащитыНог, Выборка.РазмерОбуви); // Отбор.Класс(СредстваЗащитыГоловы) МенеджерЗаписи.РазмерГоловногоУбора = ПолучитьРазмерПоКлассуСИЗ(Перечисления.КлассыСИЗ.СредстваЗащитыГоловы, Выборка.РазмерГоловногоУбора); // Отбор.Класс(СредстваЗащитыОргановДыхания) МенеджерЗаписи.РазмерПротивогаза = ПолучитьРазмерПоКлассуСИЗ(Перечисления.КлассыСИЗ.СредстваЗащитыОргановДыхания, Выборка.РазмерПротивогаза); // Отбор.Класс(СредстваЗащитыОргановДыхания) МенеджерЗаписи.РазмерРеспиратора = ПолучитьРазмерПоКлассуСИЗ(Перечисления.КлассыСИЗ.СредстваЗащитыОргановДыхания, Выборка.РазмерРеспиратора); // Отбор.Класс(СредстваЗащитыРук) МенеджерЗаписи.РазмерПерчаток = ПолучитьРазмерПоКлассуСИЗ(Перечисления.КлассыСИЗ.СредстваЗащитыРук, Выборка.РазмерПерчаток); // Отбор.Класс(СредстваЗащитыРук) МенеджерЗаписи.РазмерРукавиц = ПолучитьРазмерПоКлассуСИЗ(Перечисления.КлассыСИЗ.СредстваЗащитыРук, Выборка.РазмерРукавиц); Попытка МенеджерЗаписи.Записать(); Исключение Сообщить("Антропологические данные для физического лица " + Выборка.ФизическоеЛицо + " не записаны!"); ДобавитьВЛогЗагрузки(Формат(ТекущаяДата(), "ДФ=HH.mm.ss"), "Антропологические данные для физического лица " + Выборка.ФизическоеЛицо + " не записаны!"); КонецПопытки; ПредыдущееФИО = Выборка.ФИОФизЛица; ПредыдущийКод = Выборка.Код; Иначе Если Не СтрокаВывода = "" Тогда СООБЩИТЬ(СтрокаВывода); СтрокаВывода = ""; НомерСтроки = НомерСтроки + 1; КонецЕсли; СООБЩИТЬ("№ строки " + НомерСтроки + "). Физ лицо " + Выборка.ФИОФизЛица + " не найдено !"); ДобавитьВЛогЗагрузки(Формат(ТекущаяДата(), "ДФ=HH.mm.ss"), "№ строки " + НомерСтроки + "). Физ лицо " + Выборка.ФИОФизЛица + " по СНИЛС не найдено !"); ПредыдущееФИО = Выборка.ФИОФизЛица; ПредыдущийКод = Выборка.Код; КонецЕсли; НомерСтроки = НомерСтроки + 1; КонецЦикла; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |