for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Вопросы по 1С
  

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

Сообщений: 11
Дата: 06.05.11 12:38:33
Доброго утра.
В наличии есть 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
Дата: 06.05.11 14:32:23
Век живи....

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

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

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



Исправлено: AlexandrIT, 06.05.11 14:34
Ratings: 0 negative/0 positive

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

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

Re: Ссылки при заполнении регистров сведений
piva

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

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


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

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

Сообщений: 11
Дата: 06.05.11 16:15:40
сПАСИБО, попробую не отходя от кассы....
Ratings: 0 negative/0 positive

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

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



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

On-line: 16 Тьма Chemberzhy Grin  (Гостей: 13)

16.09.2019 17:32:13 exec: 0.06
Mem: 1.155 Mb

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