:: Вопросы по 1С
Ссылки при заполнении регистров сведений
AlexandrIT
Автор

Сообщений: 11
Дата регистрации: 30.04.2011
Доброго утра.
В наличии есть Win7 и ЗУП 2.5.32.5
Пытаюсь заполнять регистры сведений для лиц, уже внесенных в справочник Физ. лиц,


ФизЛица = БазаОле.Справочники.ФизическиеЛица

SELECT PodrMembers
GO TOP
SCAN
КодФизЛица = PodrMembers.kls_id
ЭлементФизЛицоСсылка = ФизЛица.НайтиПоКОДУ(КодФизЛица)
IF ЭлементФизЛицоСсылка <> БазаОле.Справочники.ФизическиеЛица.ПустаяСсылка()
GUIDЭлементФизЛица = ФизЛица.ПолучитьСсылку(ЭлементФизЛицоСсылка.УникальныйИдентификатор())

ELSE
MESSAGEBOX('В Справочнике Физические Лица не найден сотрудник № '+КодФизЛица ,16)
EXIT
ENDIF

БазаОле.НачатьТранзакцию()

НаборЗаписейФИО = БазаОле.РегистрыСведений.ФИОФизЛиц.СоздатьНаборЗаписей()
НоваяЗаписьФИО = НаборЗаписейФИО.Добавить()
НоваяЗаписьФИО.Фамилия = PodrMembers.Fam
НоваяЗаписьФИО.Имя = PodrMembers.Im
НоваяЗаписьФИО.Отчество = PodrMembers.Ot
НоваяЗаписьФИО.Период= PodrMembers.beg_work
НоваяЗаписьФИО.ФизЛицо = GUIDЭлементФизЛица

НаборЗаписейФИО.Записать()

ВидыКонтактнойИнформации = БазаОле.Справочники.ВидыКонтактнойИнформации
СсылкаВидКонтактнойИнформацииАдрес = ВидыКонтактнойИнформации.НайтиПоКоду('00002')
IF СсылкаВидКонтактнойИнформацииАдрес <> БазаОле.Справочники.ВидыКонтактнойИнформации.ПустаяСсылка() GUIDСсылкаВидКонтактнойИнформацииАдрес = ВидыКонтактнойИнформации.ПолучитьСсылку(СсылкаВидКонтактнойИнформацииАдрес.УникальныйИдентификатор())

ELSE
MESSAGEBOX('Не найден GUID Вида Контактной Информации = Адрес',16)
БазаОле.ОтменитьТранзакцию()
EXIT
ENDIF

ТипКонтактнойИнформацииАдрес = БазаОле.Перечисления.ТипыКонтактнойИнформации.Адрес

НаборЗаписейАдрес = БазаОле.РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей()
НоваяЗаписьАдрес = НаборЗаписейАдрес.Добавить()

WITH НоваяЗаписьАдрес
.Объект = GUIDЭлементФизЛица
.Вид = GUIDСсылкаВидКонтактнойИнформацииАдрес
.Тип = ТипКонтактнойИнформацииАдрес

** заполнение полей ФИО
ENDWITH


НаборЗаписейАдрес.Записать()

БазаОле.ЗафиксироватьТранзакцию

ENDSCAN
Сообщений об ошибках нет.
Запускаю конфу. Открываю справочник Физ. лица. Данные отображаются только для последнего из вспомогательной таблички человека!
А где же остальные?
Прошел в пошагово. В конфе можно увидеть только данные по последнему записанному человеку.
Проблема со ссылками?
Ratings: 0 negative/0 positive
Re: Ссылки при заполнении регистров сведений
AlexandrIT
Автор

Сообщений: 11
Дата регистрации: 30.04.2011
Век живи....

Комбинация
НаборЗаписейФИО = БазаОле.РегистрыСведений.ФИОФизЛиц.СоздатьНаборЗаписей()
НоваяЗаписьФИО = НаборЗаписейФИО.Добавить()
НаборЗаписейФИО.Записать()

банально затирает хранящуюся информацию новой.
Поскольку Комбинация выполнялась в цикле, при каждом проходе предыдущие данные затирались.
Вынес НаборЗаписейФИО = БазаОле.РегистрыСведений.ФИОФизЛиц.СоздатьНаборЗаписей() перед началом Scan ..., а
НаборЗаписейФИО.Записать() - после EndScan. Записалось как надо.

Спасибо за терпение и предоставленную возможность подумать самому



Исправлено 1 раз(а). Последнее : AlexandrIT, 06.05.11 14:34
Ratings: 0 negative/0 positive
Re: Ссылки при заполнении регистров сведений
AlexandrIT
Автор

Сообщений: 11
Дата регистрации: 30.04.2011
Однако появился следующий вопрос - как выборочно модифицировать содержание регистров сведений?
Ratings: 0 negative/0 positive
Re: Ссылки при заполнении регистров сведений
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Создать набор, установить отбор по измерению регистра, прочитать - изменить и записать

Набор=РегистрыНакопления.Продажи.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(Док);
Набор.Прочитать();
Для каждого СтрНабора из Набор Цикл
СтрНабора.Себестоимость=....
КонецЦикла;
Набор.Записать();


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Ссылки при заполнении регистров сведений
AlexandrIT
Автор

Сообщений: 11
Дата регистрации: 30.04.2011
сПАСИБО, попробую не отходя от кассы....
Ratings: 0 negative/0 positive
Re: Ссылки при заполнении регистров сведений
AlexandrIT
Автор

Сообщений: 11
Дата регистрации: 30.04.2011
Респект и уважение! Все работает!
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 2 (Гостей: 2)

© 2000-2024 Fox Club 
Яндекс.Метрика