Имя: Пароль:
1C
1С v8
(ЗУП) программно открыть, заполнить и записать форму записи рег.сведений
0 vechiy
 
21.08.12
11:18
Пытаюсь открыть и записать в ФИОФизЛиц новую строку, открывая форму записи:

       МассивФИО = ОбщегоНазначения.ПолучитьМассивФИО(Строка.ФИО);  
         ФИОФизЛица = РегистрыСведений.ФИОФизЛиц.ПолучитьФорму("ФормаЗаписи");
       ФИОФизЛица.ЭлементыФормы["Период"].Установить('1900-01-01');// = '1900-01-01';
       ФИОФизЛица.ЭлементыФормы["ФизЛицо"] = ФизЛицо;
       ФИОФизЛица.ЭлементыФормы["Фамилия"] = МассивФИО[0];;
       ФИОФизЛица.ЭлементыФормы["Имя"] = МассивФИО[1];;
       ФИОФизЛица.ЭлементыФормы["Отчество"] = МассивФИО[2];;
       
       ФИОФизЛица.Закрыть();

Ругается на недоступность поля "Период", и у этой полученной формы нет процедуры записать)
Как её сохранить?
1 Cyberhawk
 
21.08.12
11:19
Какова конечная цель?
2 Maxus43
 
21.08.12
11:21
если программная запись - зачем форму открывать?
3 snegovik
 
21.08.12
11:25
НаборЗаписей = РегистрыСведений.ФИОФизЛиц.СоздатьНаборЗаписей();
           НаборЗаписей.Отбор.ФизЛицо.Установить(НовоеФизЛицо.Ссылка);
           
           НовЗапись = НаборЗаписей.Добавить();
           НовЗапись.ФизЛицо = НовоеФизЛицо.Ссылка;
           НовЗапись.Имя = СокрЛП(Строка(БД.imya));
           НовЗапись.Фамилия = СокрЛП(Строка(БД.Familia));
           НовЗапись.Отчество = СокрЛП(Строка(БД.Otchestvo));
           НовЗапись.Период = Дата(НовоеФизЛицо.ДатаРождения);
           НаборЗаписей.Записать(Истина);
4 Reset
 
21.08.12
11:27
(0)
Запись=РегистрыСведений.ФИОФизЛиц.СоздатьМенеджерЗаписи();
Запись.Период=Дата('1900-01-01');// = '1900-01-01';

Запись.ФизЛицо = ФизЛицо;
Запись.Фамилия = МассивФИО[0];
Запись.Имя = МассивФИО[1];
Запись.Отчество = МассивФИО[2];
Запись.Записать();
5 vechiy
 
21.08.12
11:46
пасиба! (4) отлично подошло, без формы конечно лучше)

а как добавить адрес? Искать соответствующие поля в кладре по наименованию?
6 ZanderZ
 
21.08.12
11:47
(5) ну только если для проверки... а так хранятся только текстовая информация
7 vechiy
 
21.08.12
11:47
Или лучше по коду? Там коды уникальны? Или там коды и уровни?
8 vechiy
 
21.08.12
11:48
но т.е. при неудачном поиске по наименованию будут плодиться новые записи? эт не оч. хорошо)
9 ZanderZ
 
21.08.12
11:54
(8) ??? куда адрес то добавлять то ???
10 almar
 
21.08.12
11:54
(8) где-где будут плодиться новые записи?
11 vechiy
 
21.08.12
12:21
(10) а хотя ведь нет, не будут)
12 snegovik
 
21.08.12
12:42
(5) Я тупо писал текстом в поля адреса.
13 vechiy
 
21.08.12
13:00
(12) я так же буду) тупанул
они же из кладра все равно грузиться будут
14 vechiy
 
22.08.12
12:04
Теперь ещё такой вопросец: как программно провести только что созданный договорНаВыполнениеРаботСФизЛицом ?
НовыйДоговор = документы.ДоговорНаВыполнениеРаботСФизЛицом.СоздатьДокумент();

НовыйДоговор.проведен = истина; - не достаточно:))
Реквизиты нужные заполнены)
15 vechiy
 
22.08.12
12:19
разобрался)
НовыйДоговор.Записать(РежимЗаписиДокумента.Проведение);