Как с помощью документа создать новый элемент справочника физические лица

1. deutsch2008 22.02.17 11:32 Сейчас в теме +0.04 $m
Всем, привет! Подскажите, пожалуйста, как с помощью документа создать новый элемент справочника (физические лица), то есть, допустим в документе есть схожие реквизиты с реквизитами справочника (физические лица). И при записи этого документа создавался элемент справочника (физические лица), соответственно с заполненными полями (Фамилия, Имя, Отчество, Дата рождения)
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1484 22.02.17 11:38 Сейчас в теме
(1) код напиши. В справке читай создатьэлемент().
4. olegmedvedev 65 22.02.17 11:50 Сейчас в теме
(1)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|	ФизическиеЛица.Наименование,
|	ФизическиеЛица.Ссылка
|ИЗ
|	Справочник.ФизическиеЛица КАК ФизическиеЛица";
ТЗФизЛиц = Запрос.Выполнить().Выгрузить();

Для каждого СтрокаТЧ Из ТЧВашДокумент Цикл
	НайденнаяСтрока = ТЗФизЛиц.Найти(СтрокаТЧ.ФизЛицо, "Наименование");
	Если НайденнаяСтрока = Неопределено Тогда
		//создаем физ лицо
		НовыйОбъект = Справочники.ФизическиеЛица.СоздатьОбъект();
		НовыйОбъект.ДатаРождения='00010101000000'; //Дата
		НовыйОбъект.ИНН=""; //Строка
		НовыйОбъект.КодИМНС=""; //Строка
		НовыйОбъект.Комментарий=""; //Строка
		НовыйОбъект.СтраховойНомерПФР=""; //Строка
		НовыйОбъект.Пол=Перечисления.ПолФизическихЛиц.ПустаяСсылка(); //Пол физических Лиц
		НовыйОбъект.МестоРождения=""; //Строка
		НовыйОбъект.ОсновноеИзображение=Справочники.ХранилищеДополнительнойИнформации.ПустаяСсылка(); //Дополнительная информация
		НовыйОбъект.МестоРожденияКодПоОКАТО=""; //Строка
		НовыйОбъект.ГруппаДоступаФизическогоЛица=Справочники.ГруппыДоступаФизическихЛиц.ПустаяСсылка(); //Группы доступа физических лиц
		НовыйОбъект.ЛьготаПриНачисленииПособий=Перечисления.ВидыЛьготПриНачисленииБольничных.ПустаяСсылка(); //Виды льгот при начислении больничных
		НовыйОбъект.ИмеетНаучныеТруды=Ложь; //Булево
		НовыйОбъект.ИмеетИзобретения=Ложь; //Булево
		
	Иначе
		//нашли физ лицо по наименованию
		СтрокаТЧ.ФизЛицо = НайденнаяСтрока.Ссылка;
	КонецЕсли;
	
	
КонецЦикла; 

Показать


ищем физ лица. потом бежим циклом по ТЧ вашего документа. Если нашли такого - то подставляем, нет - создаем нового
6. deutsch2008 22.02.17 11:55 Сейчас в теме
(4) В документе нет табличной части.
Прикрепленные файлы:
9. olegmedvedev 65 22.02.17 12:02 Сейчас в теме
(6) а это точно документ? уж больно справочник по структуре напоминает
11. deutsch2008 22.02.17 12:05 Сейчас в теме
(9) Да, это документ! См. вложение...
Прикрепленные файлы:
3. Arax 22.02.17 11:41 Сейчас в теме
Что за документ? Какая конфигурация?
5. deutsch2008 22.02.17 11:51 Сейчас в теме
(3) Конфигурация ЗУП (обычное приложение) (2.1.43.2). Новый документ на управляемых формах. 1С 8.3
Пробовал так, не получается...

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	НовыйЭлемент = Справочники.ФизическиеЛица.СоздатьЭлемент();
	НовыйЭлемент.Фамилия = Объект.Фамилия;
	НовыйЭлемент.Имя = Объект.Имя;
	НовыйЭлемент.Отчество = Объект.Отчесвто;
	НовыйЭлемент.Записать();	
		
КонецПроцедуры


Показать
7. Arax 22.02.17 11:56 Сейчас в теме
(5) Что есть "Объект". Отладчиком его видно?
ну и "Отчесвто".
8. Arax 22.02.17 11:57 Сейчас в теме
(5) Что именно не получается? Не создается? не заполняет поля?
10. deutsch2008 22.02.17 12:03 Сейчас в теме
(8) "Отчество" - исправил!

{Документ.ЛичныйЛистокПоУчетуКадров.Форма.ФормаДокумента.Форма(73)}: Поле объекта не обнаружено (Фамилия)
НовыйЭлемент.Фамилия = Объект.Фамилия;
Хотя отладчиком его видно!
13. Arax 22.02.17 12:09 Сейчас в теме
(10) может Фамилия это реквизит формы? В УПП так.

ЭлементыФормы.Фамилия
12. spacecraft 22.02.17 12:08 Сейчас в теме
(5) не Объект, а ТекущийОбъект
14. Xershi 1484 22.02.17 12:17 Сейчас в теме
(12) по моему ЭтотОбъект?

(10) объект он в форме на клиенте, чтобы передать его на сервер нужно его получить в реквизите.
А в этот процедуре она в модуле? Нужно через ЭтотОбъект обращаться.
15. spacecraft 22.02.17 12:22 Сейчас в теме
(14) в приведенном коде используется:
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

Тут документ уже записан и доступен ТекущийОбъект, как полноценный объект метаданных.
16. Xershi 1484 22.02.17 12:26 Сейчас в теме
(15) а не обратил внимание на параметры, тогда да через него нужно делать.
Оставьте свое сообщение

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