Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка при обмене

Ошибка при обмене
Я
   Alekzander Wolf
 
04.08.20 - 12:40
Ошибка при вызове контекста (ПолучитьОбъект). К сожалению отладчиком пройтись не получится.
Ругается на строчку: ФизЛицо = ?(ТипЗнч(Выборка.Ссылка)=Тип("СправочникСсылка.ФизическиеЛица") И ЗначениеЗаполнено(Выборка.Ссылка), Выборка.Ссылка.ПолучитьОбъект(), Справочники.ФизическиеЛица.СоздатьЭлемент());

Что может быть не так?
   acht
 
1 - 04.08.20 - 12:43
Ошибка компиляции модуля объекта в используемом режиме
   Alekzander Wolf
 
2 - 04.08.20 - 12:53
Забыл добавить, что это обычные формы
   craxx
 
3 - 04.08.20 - 12:56
Выборка.ССылка=null скорее всего
   Alekzander Wolf
 
4 - 04.08.20 - 12:58
(3) Данная проверка стояла изначально, ошибок было на порядок больше. Да и в данном случае, она не должна была пройти по условию
   RomanYS
 
5 - 04.08.20 - 13:01
(0) Попробуй открыть форму справочника ФизическиеЛица и создать новый элемент. Вероятно (1) прав и получишь ошибку
   fisher
 
6 - 04.08.20 - 13:02
Действительно, интересно...
Если бы была ошибка в модуле объекта справочника физ-лиц, то по-идее ругнулось бы на конкретную строчку с ошибкой. Если бы модуль объекта справочника физ-лиц не компилировался - то валилось бы всегда, даже при открытии карточки физ-лица.
Почтальон Печкин какой-то :) Непустая ссылка нужного типа есть, но объект я вам не отдам :)
   acht
 
7 - 04.08.20 - 13:14
(6) То, что в ОФ открывается форма - вообще ничего не значит.

У него не может собраться объект в текущем режиме исполнения - внешнее соединение, сервер и т.п. При получении объекта (кроме компиляции и выполнения области инициализации) также проверяеися доступность всех подписок для этого объекта - читай "расстановка галочек" на модулях с обработчиками.

Открывай журнал регистрации/технологический журнал - там все будет написано.
   Ёпрст
 
8 - 04.08.20 - 13:19
(0)для битой ссылки будет и значениезаполнено и тип нужный.
   acht
 
9 - 04.08.20 - 13:20
(8) И ПолучитьОбъект вернет Неопределено
   Alekzander Wolf
 
10 - 04.08.20 - 13:23
(8) БИТАЯССЫЛКА.ПолучитьОбъект() не должно же ругаться. У меня в ЖР конкретная строка указана: Ошибка при вызове метода контекста (ПолучитьОбъект)
   Alekzander Wolf
 
11 - 04.08.20 - 13:26
(7) у меня не всегда ошибка по данной строке, она в цикле находится
   Ёпрст
 
12 - 04.08.20 - 13:27
(11) больше кода.
   Ёпрст
 
13 - 04.08.20 - 13:28
возможно, где-то переопределяешь значение переменной
   Ёпрст
 
14 - 04.08.20 - 13:29
и выборка, надеюс с запроса, а не с менеджера справочника с выбрать ?
   RomanYS
 
15 - 04.08.20 - 13:30
(11) Откуда запускается код? Не из внешнего соединения?
Добавь Попытку и пиши отладочную информацию в ЖР или текстовый файл
   ZDenis
 
16 - 04.08.20 - 13:31
Ставлю на (1) и где-нибудь в модуле стоит Вопрос(...
   Alekzander Wolf
 
17 - 04.08.20 - 13:31
(12)            Запрос.Текст ="ВЫБРАТЬ

                              |              торо_КвалификацияРемонтногоПерсоналаСрезПоследних.Сотрудник КАК Сотрудник,

                              |              торо_КвалификацияРемонтногоПерсоналаСрезПоследних.Квалификация КАК Квалификация

                              |ПОМЕСТИТЬ ПоследняяОсновнаяКвалификации

                              |ИЗ

                              |              (ВЫБРАТЬ

                              |                             КвалификацияРемонтногоПерсоналаСрезПоследних.Сотрудник КАК Сотрудник,

                              |                             МАКСИМУМ(КвалификацияРемонтногоПерсоналаСрезПоследних.Период) КАК Период

                              |              ИЗ

                              |                              РегистрСведений.торо_КвалификацияРемонтногоПерсонала.СрезПоследних(&Период, Основная = ИСТИНА) КАК КвалификацияРемонтногоПерсоналаСрезПоследних

                              |             

                              |              СГРУППИРОВАТЬ ПО

                              |                             КвалификацияРемонтногоПерсоналаСрезПоследних.Сотрудник) КАК ВложенныйЗапрос

                              |                             ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.торо_КвалификацияРемонтногоПерсонала.СрезПоследних(&Период, Основная = ИСТИНА) КАК торо_КвалификацияРемонтногоПерсоналаСрезПоследних

                              |                             ПО ВложенныйЗапрос.Период = торо_КвалификацияРемонтногоПерсоналаСрезПоследних.Период

                              |                                             И ВложенныйЗапрос.Сотрудник = торо_КвалификацияРемонтногоПерсоналаСрезПоследних.Сотрудник

                              |;

                              |
                              |////////////////////////////////////////////////////////////////////////////////


                              |ВЫБРАТЬ

                              |              ДанныеФизЛиц.Наименование КАК Наименование,

                              |              ДанныеФизЛиц.ИНН КАК ИНН,

                              |              ДанныеФизЛиц.КодИМНС КАК КодИМНС,

                              |              ДанныеФизЛиц.СтраховойНомерПФР КАК СтраховойНомерПФР,

                              |              ДанныеФизЛиц.ДатаРождения КАК ДатаРождения,

                              |              ДанныеФизЛиц.Пол КАК Пол,

                              |              ДанныеФизЛиц.МестоРождения КАК МестоРождения,

                              |              ДанныеФизЛиц.ГУИД_кадры КАК ГУИД_кадры,

                              |              ДанныеФизЛиц.ТабельныйНомер КАК ТабельныйНомер,

                              |              ДанныеФизЛиц.Филиал КАК Филиал,

                              |              ДанныеФизЛиц.Должность КАК Должность,

                              |              ДанныеФизЛиц.ПричинаИзмененияСостояния КАК ПричинаИзмененияСостояния,

                              |              ДанныеФизЛиц.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,

                              |              ДанныеФизЛиц.ПодразделениеОрганизации КАК ПодразделениеОрганизации,

                              |              ДанныеФизЛиц.ПаспортВид КАК ПаспортВид,

                              |              ДанныеФизЛиц.ПаспортСерия КАК ПаспортСерия,

                              |              ДанныеФизЛиц.ПаспортНомер КАК ПаспортНомер,

                              |              ДанныеФизЛиц.ПаспортДатаВыдачи КАК ПаспортДатаВыдачи,

                              |              ДанныеФизЛиц.ПаспортКемВыдан КАК ПаспортКемВыдан,

                             |              ДанныеФизЛиц.ПаспортКодПодразделения КАК ПаспортКодПодразделения,

                              |              ДанныеФизЛиц.ПаспортДатаРегистрацииПоМестуЖительства КАК ПаспортДатаРегистрацииПоМестуЖительства,

                              |              ДанныеФизЛиц.КвалификационныйРазряд КАК КвалификационныйРазряд,

                              |              ДанныеФизЛиц.ГрафикРаботы КАК ГрафикРаботы,

                              |              ДанныеФизЛиц.КатегорияСтатистическогоУчета КАК КатегорияСтатистическогоУчета,

                              |              ДанныеФизЛиц.РемонтныйПерсонал КАК РемонтныйПерсонал

                              |ПОМЕСТИТЬ ДанныеФизЛиц

                              |ИЗ

                              |              &ДанныеФизЛиц КАК ДанныеФизЛиц

                              |;

                              |

                              ////////////////////////////////////////////////////////////////////////////////


                              |ВЫБРАТЬ

                              |              ДанныеФизЛиц.Наименование КАК Наименование,

                              |              ДанныеФизЛиц.ИНН КАК ИНН,

                              |              ДанныеФизЛиц.КодИМНС КАК КодИМНС,

                              |              ДанныеФизЛиц.СтраховойНомерПФР КАК СтраховойНомерПФР,

                              |              ДанныеФизЛиц.ДатаРождения КАК ДатаРождения,

                              |              ДанныеФизЛиц.Пол КАК Пол,

                              |              ДанныеФизЛиц.МестоРождения КАК МестоРождения,

                              |              ДанныеФизЛиц.ГУИД_кадры КАК ГУИД_кадры,

                              |              ДанныеФизЛиц.ТабельныйНомер КАК ТабельныйНомер,

                              |              ДанныеФизЛиц.Должность КАК ДолжностьСтрока,

                              |              ДанныеФизЛиц.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,

                              |              ДанныеФизЛиц.ПодразделениеОрганизации КАК ПодразделениеОрганизации,

                              |              ДанныеФизЛиц.КвалификационныйРазряд КАК КвалификационныйРазряд,

                              |              ДанныеФизЛиц.ГрафикРаботы КАК ГрафикРаботы,

                              |              ДанныеФизЛиц.КатегорияСтатистическогоУчета КАК КатегорияСтатистическогоУчета,

                              |              ДанныеФизЛиц.РемонтныйПерсонал КАК РемонтныйПерсонал,

                              |              ФизическиеЛица.Ссылка КАК Ссылка,

                              |              Организации.Ссылка КАК Филиал,

                              |              Должности.Ссылка КАК Должность,

                              |              ПричиныИзмененияСостояния.Ссылка КАК ПричинаИзмененияСостояния,

                              |              СотрудникиОрганизаций.Ссылка КАК Сотрудник,

                              |              РаботникиОрганизацийСрезПоследних.Период КАК Период,

                              |              ПоследняяОсновнаяКвалификации.Квалификация КАК КвалификационныйРазрядЕКУД

                              |ИЗ

                              |              ДанныеФизЛиц КАК ДанныеФизЛиц

                              |                             ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица

                              |                             ПО (ДанныеФизЛиц.ГУИД_кадры = ФизическиеЛица.ГУИД_кадры

                              |                                                             ИЛИ ФизическиеЛица.ГУИД_кадры = """"

                              |                                                                            И ДанныеФизЛиц.Наименование = ФизическиеЛица.Наименование

                              |                                                                            И ДанныеФизЛиц.ИНН = ФизическиеЛица.ИНН)

                              |                             ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ

                              |                                             МАКСИМУМ(ДолжностиОрганизаций.Ссылка) КАК Ссылка,

                             |                                             ДолжностиОрганизаций.Наименование КАК Наименование

                              |                             ИЗ

                              |                                             Справочник.ДолжностиОрганизаций КАК ДолжностиОрганизаций

                              |                            

                              |                             СГРУППИРОВАТЬ ПО

                              |                                             ДолжностиОрганизаций.Наименование) КАК Должности

                              |                             ПО ДанныеФизЛиц.Должность = Должности.Наименование

                              |                             ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации

                              |                             ПО (ВЫБОР

                              |                                                             КОГДА Организации.КПП_ЗУП <> """"

                              |                                                                            ТОГДА ДанныеФизЛиц.Филиал = Организации.КПП_ЗУП

                              |                                                             ИНАЧЕ ДанныеФизЛиц.Филиал = Организации.КПП

                              |                                             КОНЕЦ)

                              |                                             И (Организации.Ссылка = &Организация

                              |                                                             ИЛИ Организации.ГоловнаяОрганизация = &Организация)

                              |                             ЛЕВОЕ СОЕДИНЕНИЕ ПричиныИзмененияСостояния КАК ПричиныИзмененияСостояния

                              |                             ПО ДанныеФизЛиц.ПричинаИзмененияСостояния = ПричиныИзмененияСостояния.Наименование

                              |                             ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций

                              |                             ПО (ФизическиеЛица.Ссылка = СотрудникиОрганизаций.Физлицо)

                              |                                             И (Организации.Ссылка = СотрудникиОрганизаций.Организация)

                              |                             ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(

                              |                                                             &Период,

                              |                                                             Организация = &Организация

                              |                                                                            ИЛИ Организация.ГоловнаяОрганизация = &Организация) КАК РаботникиОрганизацийСрезПоследних

                              |                             ПО (СотрудникиОрганизаций.Ссылка = РаботникиОрганизацийСрезПоследних.Сотрудник)

                              |                                             И (Организации.Ссылка = РаботникиОрганизацийСрезПоследних.Организация)

                              |                             ЛЕВОЕ СОЕДИНЕНИЕ ПоследняяОсновнаяКвалификации КАК ПоследняяОсновнаяКвалификации

                              |                             ПО (СотрудникиОрганизаций.Ссылка = ПоследняяОсновнаяКвалификации.Сотрудник)

                              |ГДЕ

                              |              (ФизическиеЛица.Ссылка ЕСТЬ NULL

                              |                                             ИЛИ ДанныеФизЛиц.Наименование <> ФизическиеЛица.Наименование

                              |                                             ИЛИ ДанныеФизЛиц.ИНН <> ФизическиеЛица.ИНН

                              |                                             ИЛИ ДанныеФизЛиц.КодИМНС <> ФизическиеЛица.КодИМНС

                              |                                             ИЛИ ДанныеФизЛиц.СтраховойНомерПФР <> ФизическиеЛица.СтраховойНомерПФР

                              |                                             ИЛИ ДанныеФизЛиц.ДатаРождения <> ФизическиеЛица.ДатаРождения

                              |                                             ИЛИ ДанныеФизЛиц.Пол <> ФизическиеЛица.Пол

                              |                                             ИЛИ ДанныеФизЛиц.МестоРождения <> ФизическиеЛица.МестоРождения

                              |                                             ИЛИ РаботникиОрганизацийСрезПоследних.Период ЕСТЬ NULL

                              |                                             ИЛИ ДанныеФизЛиц.ЗанимаемыхСтавок <> РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок

                              |                                             ИЛИ Должности.Ссылка <> РаботникиОрганизацийСрезПоследних.Должность

                              |                                             ИЛИ ДанныеФизЛиц.КатегорияСтатистическогоУчета <> РаботникиОрганизацийСрезПоследних.КатегорияСтатистическогоУчета

                              |                                             ИЛИ ДанныеФизЛиц.ПодразделениеОрганизации <> РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации

                              |                                             ИЛИ ДанныеФизЛиц.ГрафикРаботы <> РаботникиОрганизацийСрезПоследних.ГрафикРаботы

                              |                                             ИЛИ ДанныеФизЛиц.РемонтныйПерсонал <> РаботникиОрганизацийСрезПоследних.Сотрудник.РемонтныйПерсонал

                              |                                             ИЛИ ПричиныИзмененияСостояния.Ссылка <> РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния

                              |                                             ИЛИ НЕ ДанныеФизЛиц.КвалификационныйРазряд = ЗНАЧЕНИЕ(Справочник.торо_КвалификацииРемонтногоПерсонала.ПустаяСсылка)

                              |                                                             И ПоследняяОсновнаяКвалификации.Квалификация ЕСТЬ NULL

                              |                                             ИЛИ ДанныеФизЛиц.КвалификационныйРазряд <> ПоследняяОсновнаяКвалификации.Квалификация)";

                              

                Запрос.УстановитьПараметр("ДанныеФизЛиц", ФизЛица);

                Запрос.УстановитьПараметр("Период", ДатаДанных);

                Запрос.УстановитьПараметр("Организация", ОбщегоНазначения.ГоловнаяОрганизация(Организация));

               

                РезультатЗапроса = Запрос.Выполнить();        

 

Пока Выборка.Следующий() Цикл

                               Попытка

                                               ФизЛицо = ?(ТипЗнч(Выборка.Ссылка) = Тип("СправочникСсылка.ФизическиеЛица") И ЗначениеЗаполнено(Выборка.Ссылка) И Выборка.Ссылка <> Null,Выборка.Ссылка.ПолучитьОбъект(), Справочники.ФизическиеЛица.СоздатьЭлемент());

                                              //Если Выборка.Ссылка = null Тогда


                                              //Сообщить("Физ. лицо: "+Выборка.Наименование+" - "+Выборка.ТабельныйНомер);


                                              //КонецЕсли;  


                                              //Если Выборка.Сотрудник = null Тогда


                                              //            Сообщить("Сотрудник: "+Выборка.Наименование+" - "+Выборка.ТабельныйНомер);


                                              //КонецЕсли;  


                                              //Сообщить(""+Выборка.Наименование);


                                              //Продолжить;


                               Исключение

                                               ВызватьИсключение;

                              //ЗаписьЖурналаРегистрации("ОшибкаЗаписиФизЛица",УровеньЖурналаРегистрации.Информация,ФизЛицо.Метаданные(), ФизЛицо,Строка(ФизЛицо));


                               КонецПопытки;
   Alekzander Wolf
 
18 - 04.08.20 - 13:33
(15) так пишу
   Ёпрст
 
19 - 04.08.20 - 13:35
И где в коде Выборка = РезультатЗапроса.Выбрать() ?

                РезультатЗапроса = Запрос.Выполнить();        

 

Пока Выборка.Следующий() Цикл
   Alekzander Wolf
 
20 - 04.08.20 - 13:37
(19) Я всю портянку не коппировал, естественно эта строка есть.
   Ёпрст
 
21 - 04.08.20 - 13:38
(20) лучше б скопировал.. а воообще проверка на нулл не нужна
   Ёпрст
 
22 - 04.08.20 - 13:39
И попытка там тоже не ннужна
   Alekzander Wolf
 
23 - 04.08.20 - 13:42
(21) ну да, это уже перебор вариантов пошел. Самое интересное, что я никак не могу понять, что у меня в Выборка.ССылка находится. Вроде как значение заполнено, но что там не понятно
   ДенисЧ
 
24 - 04.08.20 - 13:43
Тернарные операторы - зло...
   ДенисЧ
 
25 - 04.08.20 - 13:43
Разбей на отдельные если тогда иначе. Видней будет ошибку.
   Ёпрст
 
26 - 04.08.20 - 13:45
Ну значит, ошибка в самом справочнике ФизЛица.

Тупо создай обработку, поместит туда реквизит с типом и попробуй у него ПолучитьОбъект() - будет тоже ошибка
   Ёпрст
 
27 - 04.08.20 - 13:46
ищи ошибку м модуле справочника
   Alekzander Wolf
 
28 - 04.08.20 - 13:57
(26) нет, пробовал уже
   Alekzander Wolf
 
29 - 04.08.20 - 13:57
(27) Если бы ошибка была в момент записи, то искал бы там.
   RomanYS
 
30 - 04.08.20 - 14:00
(29) а что по твоему происходит при ПолучитьОбъект()?
 
 Рекламное место пустует
   ZDenis
 
31 - 04.08.20 - 14:07
(0) "К сожалению отладчиком пройтись не получится." 
Почему нельзя отладчиком посмотреть что там в момент ошибки?
   Alekzander Wolf
 
32 - 04.08.20 - 14:09
(31) обработка работает в фоновом режиме на сервере
   fisher
 
33 - 04.08.20 - 14:10
(32) А сразу нельзя было сказать?
   RomanYS
 
34 - 04.08.20 - 14:13
(33) Интриги тогда не будет)
   ZDenis
 
35 - 04.08.20 - 14:14
(32) Но ее можно веди и не фоново запустить для проверки
   ZDenis
 
36 - 04.08.20 - 14:16
+ в конце концов когда что-то не работает- чисти кэши)
   fisher
 
37 - 04.08.20 - 14:16
(32) Раз падает не всегда, тогда это не ошибка компиляции модуля объекта на сервере. Вероятно, ошибка инициализации модуля в каких-то вариантах в серверном контексте. Смотри секцию инициализации модуля первым делом. Чего там выполняется.
   Alekzander Wolf
 
38 - 04.08.20 - 17:30
(37) Да, да какая то херь, я понял
   fisher
 
39 - 04.08.20 - 17:52
(38) Херь, вероятная точка входа которой - секция инициализации модуля объекта справочника физ-лиц. Чего у тебя там понаписано кроме объявления процедур/фукнций/переменных? Есть какой-то код (обычно в самом низу)?


Список тем форума
Рекламное место пустует  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.