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

Странная ошибка в УТ 10.3

Странная ошибка в УТ 10.3
Я
   Omskdizel
 
23.07.21 - 15:05
1С:Предприятие 8.3 (8.3.18.1289)
"Управление торговлей", редакция 10.3 (10.3.71.1)
Свежеобновленная. До обновления, попыток вызвать ошибку не было. До копии не добраться сейчас к сожалению.

История довольно-таки проста. Позвонил клиент, у которого после обнов поломалась синхронизация с БП 3.0. Ругается на неверное имя колонки.
ХЗ как такое отлавливать, но пошел классическим шаманским путем:
- проверил версию правил обмена, все ок,
- прибил кэш,
- протестировал и исправил.
Ничего из выше перечисленного не помогло. Решил посмотреть, что же там к выгрузке идет. Добываю стандартную обработку "РегистрацияИзмененийДляОбменаДанными" от 1С.
Обработка хочет в управляемые формы - без проблем. Поставил режим, запускаюсь и тут вываливается ошибка.
"{ОбщийМодуль.ПолныеПрава.Модуль(96,44)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)"
Я как культурный человек поискал. Модуль серверный. В глобальном модуле функция определена. Работает только когда Сервер. Что ей надо - непонятно.
У меня под рукой есть "Управление торговлей", редакция 10.3 (10.3.67.2), у которой эти модули такие-же, по крайней мере упомянутые методы, и она прекрасно запускается в режиме управляемого приложения.
Подскажите, куда копнуть можно? Конфа с ошибкой чистая, правок там нет вообще.
Мне так-то первый вопрос решить надо, но второй меня тоже как-то напряг. Да, конфигурацию проверял на двух разных компах.
   Omskdizel
 
1 - 23.07.21 - 15:11
Прикольно. Запустил проверку конфигурации с галкой "Управляемое приложение" и она в обеих ругается на этот метод. Вообще не понимаю... Права может неполные...
   ДенисЧ
 
2 - 23.07.21 - 15:12
В управлемых формах глобальных переменных не сушествует...
   Omskdizel
 
3 - 23.07.21 - 15:14
(2) Причем тут глобальные переменные, если ругается на функцию?
   ДенисЧ
 
4 - 23.07.21 - 15:18
(3) А функция - это тоже в своём роде переменная )))
Смотри галки на модуле... И контекст вызова.
Может, она у тебя НаКлиенте определена, а управляемая форма хочет её с сервера позвать
   Omskdizel
 
5 - 23.07.21 - 15:22
Такс... Сработало тяжелое наследие 7.5 и 7.7. Глобальный модуль - это тупо один из общих модулей и сам по себе нихрена не глобальный. Убил бы того, кто так модуль назвал... Попробую воткнуть функцию в модуль управляемого приложения.
   Omskdizel
 
6 - 23.07.21 - 15:22
(4) Спасибо, что открыл мне глаза :)
   Omskdizel
 
7 - 23.07.21 - 15:24
Я правильно понимаю, что модуль управляемого приложения выполняется и виден только на клиенте?
   ДенисЧ
 
8 - 23.07.21 - 15:26
(7) "Модуль управляемого приложения исполняется только в тонком клиенте, в веб-клиенте и в толстом клиенте в режиме управляемого приложения. В нем нельзя использовать директивы компиляции (&НаКлиенте, &НаСервере и другие). Документация «1С:Предприятие 8.2."
https://its.1c.ru/db/pubessence/content/99/hdoc#:~:text=Модуль%20управляемого%20приложения%20исполняется%20только,%26НаКлиенте%2C%20%26НаСервере%20и%20другие).&text=Документация%20«1С%3AПредприятие%208.2.
   Мультук
 
9 - 23.07.21 - 15:28
(7) Может просто взять обработку на обычных формах ? И начать решать вопрос с обменом ?
   Omskdizel
 
10 - 23.07.21 - 15:34
(9) А где ее добыть на обычных формах?
   ДенисЧ
 
11 - 23.07.21 - 15:35
Ну, регистрация изменений есть в самой ут10. Ну, 5 лет назад, как минимум, была )))
А так - в комплекте КД2 тоже вроде есть.
   Omskdizel
 
12 - 23.07.21 - 15:35
В УТ 10 ее как раз нет. В 11 есть, в БП 3 есть.
   Omskdizel
 
13 - 23.07.21 - 15:36
Так, в конвертации нашел, щас попробую.
   Гипервизор
 
14 - 23.07.21 - 15:37
(12) Неправда.
   ДенисЧ
 
15 - 23.07.21 - 15:43
(12) Черепашка!!!!
Есть она там. Искать надо.
   Omskdizel
 
16 - 23.07.21 - 16:02
(14)(15)
Сорян, отвлекли.
Ребят, я все обменки облазил. Куда только не тыкался. Не нашел в 10.3 просмотр регистрации изменений. Можете сказать, куда ткнуться?
   ДенисЧ
 
17 - 23.07.21 - 16:04
(16) Операции - обработки - смотрел?
А так, я видел в интерфейсе это в настройке узла плана.
   ДенисЧ
 
18 - 23.07.21 - 16:04
ПРямо наверху кнопка была.
   Omskdizel
 
19 - 23.07.21 - 16:06
(17) В настройке обмена точно отсутствует. В обработках нашел, спасибо!
   Гипервизор
 
20 - 23.07.21 - 16:09
(19) Внезапно, да? Обработка лежит в обработках..
   Omskdizel
 
21 - 23.07.21 - 16:10
(20) Непонятно, кто мог такое придумать :)) Смотрю в зарегистрированные объекты - а там все как обычно. И объектов то минимум. Не хочется думать, что ошибка в правилах обмена.
   Kassern
 
22 - 23.07.21 - 16:11
(16) все там же, операции - обработки- регистрация изменений узла или как то так
   Гипервизор
 
23 - 23.07.21 - 16:13
Давно бы уже эту ошибку про колонку в правилах поискали.
   Omskdizel
 
24 - 23.07.21 - 16:15
(23) Дак он не пишет, какая колонка его не устраивает. Если бы написал...
   Гипервизор
 
25 - 23.07.21 - 16:17
(24) Я так понимаю ошибка обмена в ЖР зарегистрировалась же? Что там конкретно в ошибке?
   Новый1сник2
 
26 - 23.07.21 - 16:18
(0) если обмен через правила, посмотреть в ЖР какая ошибка и в КД2 исправить.
   Новый1сник2
 
27 - 23.07.21 - 16:20
+ обмен с УТ 10.3 обычно слетает, если реквизит переименовали или удалили
   серый КТУЛХУ
 
28 - 23.07.21 - 16:29
правила обмена. изначально зашиты в состав конфигурации (в макет). но могут в режиме редприятия выгружаться-загружаться. и исправляться как надо с помощью кд2.
а не весь тот муторный но страшно интересные путь, на который ты вствупил...
   серый КТУЛХУ
 
29 - 23.07.21 - 16:31
ЗЫ: не(!) правила регистрации - т.к. там авторегистрация как правило в типовых отключена, и все по алгоритмам "регистрируется как надо" программно через подписки.
   Omskdizel
 
30 - 23.07.21 - 17:03
(26) Что значит обмен через правила? Обмен идет через синхронизацию. Поэтому вываливается чисто программная ошибка, а не генерируемая обработкой КДшная ошибка, с указанием ПКО, ПКС и т.д.
Текст ошибки в УТ:
ВНЕШНЕЕ СОЕДИНЕНИЕ: Неверное имя колонки
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8716)}:        Коллекция.Колонки.Добавить(ИмяПоля);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8624)}:    КоллекцияГруппировки = ИнициализацияТаблицыПоКлючевымПолям(МассивКлючевыхПолейПоиска);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10239)}:                ЗагрузитьТабличнуюЧасть(Объект, Имя, ИнформацияОТипах, ПараметрыОбъекта, Правило);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(16428)}:            ПоследнийОбъектЗагрузки = ПрочитатьОбъект();
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2706)}:        ПроизвестиЧтениеДанныхВРежимеВнешнегоСоединения(ЧтениеСообщения);

по причине:
Неверное имя колонки

Судя по "ВНЕШНЕЕ СОЕДИНЕНИЕ", ошибка на стороне БП возникает. Какой-то колонки не хватает именно там.
Да, обмен идет УТ -> БП, односторонний (ну, насколько синхронизация это позволяет).
 
 
   Omskdizel
 
31 - 23.07.21 - 17:05
Я понимаю, что правила можно и КДшкой посмотреть. Они даже отдельными файлами в шаблоне лежат, если надо. Если загрузить структуру конфы и правила конвертации - КД покажет, что ссылка на свойство неправильная?
   Omskdizel
 
32 - 23.07.21 - 17:07
Кстати, еще интересный момент. У них две пары баз УТ-БП, захотелось им развести юрлица по разным базам. Версии естественно одинаковые напрочь. И во второй паре проблем с обменом нет. Что как бы непонятно...
   Новый1сник2
 
33 - 23.07.21 - 17:22
(30) синхронизации разные бывают, в последних через универсальный формат. в ут 10.3 (последнюю версию не смотрел) обмен идет по правилам обмена которые можно выгрузить в КД2 и посмотреть, подравнять.
   Новый1сник2
 
34 - 23.07.21 - 17:26
(31) давно не смотрел КД2, но проверка там есть
   Новый1сник2
 
35 - 23.07.21 - 17:32
(0) и с УТ 10.3 пора переходить на что то другое, скоро поддержка УТ 10.3 прекратится
   Omskdizel
 
36 - 23.07.21 - 17:41
(35) Ну такое. Скорость работы УТ10 при небольшом количестве рабочих мест значительно выше скорости работы УТ11. Уж и не знаю почему. У меня на одном сервере УТ10 и БП3, при 20ти работающих в УТ, БП еле шевелится при одном пользователе. Уж и не знаю, что ей там надо.
   Новый1сник2
 
37 - 23.07.21 - 18:09
(36) фирма 1С, обычно заранее предупреждает о сроках поддержки, например БП 2.0 максимум март следующего года. по УТ 10.3 не знаю, но думаю не дольше, а то и меньше УПП. считаю лучше заранее спланировать переход, в т.ч. по необходимости абгрейдить железо. делать это потом в  в пожарном порядке не вариант, лучше заранее сделать переход. скорость на ОФ конечно выше, но не стоит ждать когда они превратятся в тыкву.
   Гипервизор
 
38 - 23.07.21 - 18:38
   Omskdizel
 
39 - 03.08.21 - 15:31
Коллеги, таки не смог победить данную ошибку. Может кто что сможет подсказать еще какой-нибудь вариант попробовать?
Что делал:
(38) Сходил по ссылке, попробовал, выдало то же самое, только со стороны Бухгалтерии.
Неверное имя колонки
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8716)}:        Коллекция.Колонки.Добавить(ИмяПоля);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8624)}:    КоллекцияГруппировки = ИнициализацияТаблицыПоКлючевымПолям(МассивКлючевыхПолейПоиска);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10239)}:                ЗагрузитьТабличнуюЧасть(Объект, Имя, ИнформацияОТипах, ПараметрыОбъекта, Правило);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(16428)}:            ПоследнийОбъектЗагрузки = ПрочитатьОбъект();
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2706)}:        ПроизвестиЧтениеДанныхВРежимеВнешнегоСоединения(ЧтениеСообщения);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6946)}:        ОбработкаОбменаДаннымиВнешнееСоединение.ВыполнитьВыгрузкуДанных(ОбработкаДляЗагрузкиДанных);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(3939)}:            ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСоединению(Отказ,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(38)}:        ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5113)}:    Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1041)}:        ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1031)}:        ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Неверное имя колонки

Загрузил конфигурации и правила конвертации. Проверку обмен проходит. Никаких ошибок не выдает.

Попробовал убирать из регистрации отдельные объекты. Тут странная картина: Обязательно должны быть убраны СписаниеТоваров и ОтчетОРозничныхПродажах. Но недостаточно. Дальше копать в этом направлении не стал, ибо непонятно, что делать с полученным результатом.

Попробовал в режиме отладки включить Остановку по ошибке. По сути в обработку конвертации прилетает ответ, что был косяк и вызывает исключение. Текст ошибки выше. Сейчас попробую по точкам в ошибке половить что-нибудь, не знаю, что получится.

Может кто знает, куда еще копнуть? Есть какой-нибудь режим отладки у синхронизации?
   Vstur
 
40 - 03.08.21 - 15:58
(39) Нет?

Ошибка 00-00386167
Код ошибки: 00-00386167
Код(ы) обращения: HL-360160
Статус: Принята к исправлению Зарегистрирована: 30.07.2021
Планируется исправить: "1C:Управление торговлей 10", версия 10.3.71

Описание:
При выполнении обмена УТ 10.3 - БП 3.0 (прямое подключение) возникает ошибка:
ВНЕШНЕЕ СОЕДИНЕНИЕ: Неверное имя колонки
   Omskdizel
 
41 - 03.08.21 - 16:12
(40) Ух, блин... Печально, если так. Скорее всего так. Ибо накопал презабавнейшую вещь при отладке:

Вот упомянутая функция:
Функция ИнициализацияТаблицыПоКлючевымПолям(МассивКлючевыхПолейПоиска)
    Коллекция = Новый ТаблицаЗначений;
    Для Каждого ИмяПоля Из МассивКлючевыхПолейПоиска Цикл
        Коллекция.Колонки.Добавить(ИмяПоля);
    КонецЦикла;
    Возврат Коллекция;
КонецФункции


Проверил МассивКлючевыхПолейПоиска, обычный массив со строками. Т.е. тут ошибки быть не может в принципе! Нет никаких операций, которые ошибку могли бы генерировать. А она есть, на последнем элементе массива, "СтранаПроисхождения".
   Vstur
 
42 - 03.08.21 - 16:18
(41) Опубликовали сегодня ночью...
   Omskdizel
 
43 - 03.08.21 - 16:18
Ну кстати, судя по ошибке, лично мне непонятно, как ее можно исправить обновлением конфигурации... Тут скорее с платформой проблема. Код то правильный, в нем нет проблем.
   Vstur
 
44 - 03.08.21 - 16:22
К пятнице релиз точно выйдет, уж больно много зафиксированных и исправленных ошибок накопилось
   Omskdizel
 
45 - 03.08.21 - 16:33
Мда... Я протупил и слишком глубоко начал копать. Синхронизация шла через прямое подключение. Сделал через файл и все заработало. Что как бы удручает, ввиду потерянного времени... В следующий раз может умнее буду :)
   Omskdizel
 
46 - 03.08.21 - 16:34
Vstur, спасибо огромное, а то бы я еще долго бился над этим кодом :)
   hhhh
 
47 - 03.08.21 - 23:08
(43) куча вариантов с именем колонки. Может быть пробел, может не начинается на букву. Может дублируется имя.
   Omskdizel
 
48 - 04.08.21 - 09:37
(47) Пардон, не написал, что массив я посмотрел. Пробелов и дублей там не было. Это были колонки с табличной части Товары из РеализацияТоваровУслуг.


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