Обновление периодических регистров сведений через веб-сервис
Anonymous
26.03.2009 - 10:38
|
Не могу понять в чем проблема. Уже потратил 8 часов :( Новый создается, старый не обновляется. Причем Запись вроде как проходит. Пытался разными способами, результат один и тотже :( Все происходит в "веб-сервисе", может проблема в этом. //Запись удостоверения личности мНаборЗаписейДокументаУдостоверяющегоЛичность = РегистрыСведений.ПаспортныеДанныеФизЛиц.СоздатьНаборЗаписей(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ФизЛицо", ФизЛицоОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ПаспортныеДанныеФизЛицСрезПоследних.Период, | ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо, | ПаспортныеДанныеФизЛицСрезПоследних.ДокументВид, | ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия, | ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер, | ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи, | ВЫРАЗИТЬ(ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан КАК СТРОКА(300)) КАК ДокументКемВыдан, | ПаспортныеДанныеФизЛицСрезПоследних.ДокументКодПодразделения, | ПаспортныеДанныеФизЛицСрезПоследних.ДатаРегистрацииПоМестуЖительства |ИЗ | РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних(, ФизЛицо = &ФизЛицо) КАК ПаспортныеДанныеФизЛицСрезПоследних"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ЗаполнитьЗначенияСвойств(мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить(), Выборка); КонецЕсли; // запись в регистр паспортных данных SetSyncDataResult = SetSyncDataResult + мНаборЗаписейДокументаУдостоверяющегоЛичность.Количество(); НоваяЗапись = 0; Если мНаборЗаписейДокументаУдостоверяющегоЛичность.Количество() > 0 И ЗначениеЗаполнено(мНаборЗаписейДокументаУдостоверяющегоЛичность[0].Период) Тогда Иначе мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить(); НоваяЗапись = 1; КонецЕсли; ВидДокумента = Справочники.ДокументыУдостоверяющиеЛичность.НайтиПоРеквизиту("КодИМНС",doc_type); Если ВидДокумента = Справочники.ДокументыУдостоверяющиеЛичность.ПустаяСсылка() Тогда ВызватьИсключение "Вид документа с кодом " + doc_type + " не найден."; Иначе мНаборЗаписейДокументаУдостоверяющегоЛичность[0].Физлицо = ФизЛицоОбъект.Ссылка; Если НоваяЗапись = 1 Тогда мНаборЗаписейДокументаУдостоверяющегоЛичность[0].Период = Дата(1900,1,1); Иначе мНаборЗаписейДокументаУдостоверяющегоЛичность[0].Период = мНаборЗаписейДокументаУдостоверяющегоЛичность[0].Период; КонецЕсли; мНаборЗаписейДокументаУдостоверяющегоЛичность[0].ДокументВид = ВидДокумента.Ссылка; мНаборЗаписейДокументаУдостоверяющегоЛичность[0].ДокументСерия = doc_code; мНаборЗаписейДокументаУдостоверяющегоЛичность[0].ДокументНомер = doc_number; Если СтрДлина(doc_release_date)>0 Тогда doc_release_date = Дата(Лев(doc_release_date,4),Сред(doc_release_date, 6, 2),Сред(doc_release_date, 9, 2) ); Иначе doc_release_date = ""; КонецЕсли; мНаборЗаписейДокументаУдостоверяющегоЛичность[0].ДокументДатаВыдачи = doc_release_date; мНаборЗаписейДокументаУдостоверяющегоЛичность[0].ДокументКемВыдан = organ; мНаборЗаписейДокументаУдостоверяющегоЛичность.Записать(Истина); КонецЕсли; |