<

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

Войти
  1. Alekzander Wolf

    04-08-2020 12:40

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

    Что может быть не так?

  2. acht

    04-08-2020 12:43

    Ошибка компиляции модуля объекта в используемом режиме

  3. Alekzander Wolf

    04-08-2020 12:53

    Забыл добавить, что это обычные формы

  4. craxx

    04-08-2020 12:56

    Выборка.ССылка=null скорее всего

  5. Alekzander Wolf

    04-08-2020 12:58

    (3) Данная проверка стояла изначально, ошибок было на порядок больше. Да и в данном случае, она не должна была пройти по условию

  6. RomanYS

    04-08-2020 13:01

    (0) Попробуй открыть форму справочника ФизическиеЛица и создать новый элемент. Вероятно (1) прав и получишь ошибку

  7. fisher

    04-08-2020 13:02

    Действительно, интересно...
    Если бы была ошибка в модуле объекта справочника физ-лиц, то по-идее ругнулось бы на конкретную строчку с ошибкой. Если бы модуль объекта справочника физ-лиц не компилировался - то валилось бы всегда, даже при открытии карточки физ-лица.
    Почтальон Печкин какой-то :) Непустая ссылка нужного типа есть, но объект я вам не отдам :)

  8. acht

    04-08-2020 13:14

    (6) То, что в ОФ открывается форма - вообще ничего не значит.

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

    Открывай журнал регистрации/технологический журнал - там все будет написано.

  9. Ёпрст

    04-08-2020 13:19

    (0)для битой ссылки будет и значениезаполнено и тип нужный.

  10. acht

    04-08-2020 13:20

    (8) И ПолучитьОбъект вернет Неопределено

  11. Alekzander Wolf

    04-08-2020 13:23

    (8) БИТАЯССЫЛКА.ПолучитьОбъект() не должно же ругаться. У меня в ЖР конкретная строка указана: Ошибка при вызове метода контекста (ПолучитьОбъект)

  12. Alekzander Wolf

    04-08-2020 13:26

    (7) у меня не всегда ошибка по данной строке, она в цикле находится

  13. Ёпрст

    04-08-2020 13:27

    (11) больше кода.

  14. Ёпрст

    04-08-2020 13:28

    возможно, где-то переопределяешь значение переменной

  15. Ёпрст

    04-08-2020 13:29

    и выборка, надеюс с запроса, а не с менеджера справочника с выбрать ?

  16. RomanYS

    04-08-2020 13:30

    (11) Откуда запускается код? Не из внешнего соединения?
    Добавь Попытку и пиши отладочную информацию в ЖР или текстовый файл

  17. ZDenis

    04-08-2020 13:31

    Ставлю на (1) и где-нибудь в модуле стоит Вопрос(...

  18. Alekzander Wolf

    04-08-2020 13:31

    (12)            Запрос.Текст ="ВЫБРАТЬ

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

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

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

                                  |ИЗ

                                  |              (ВЫБРАТЬ

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

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

                                  |              ИЗ

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

                                  |            

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

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

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

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

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

                                  |;

                                  |

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

                                  |ВЫБРАТЬ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                  |ИЗ

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

                                  |;

                                  |

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

                                  |ВЫБРАТЬ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                  |ИЗ

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

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

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

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

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

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

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

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

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

                                  |                             ИЗ

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

                                  |                            

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

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

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

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

                                  |                             ПО (ВЫБОР

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

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

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

                                  |                                             КОНЕЦ)

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

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

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

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

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

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

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

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

                                  |                                                             &Период,

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

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

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

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

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

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

                                  |ГДЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                  

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

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

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

                  

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



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

                                   Попытка

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

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

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

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

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

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

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

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

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

                                   Исключение

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

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

                                   КонецПопытки;

  19. Alekzander Wolf

    04-08-2020 13:33

    (15) так пишу

  20. Ёпрст

    04-08-2020 13:35

    И где в коде Выборка = РезультатЗапроса.Выбрать() ?


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



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

  21. Alekzander Wolf

    04-08-2020 13:37

    (19) Я всю портянку не коппировал, естественно эта строка есть.