|
Странная ошибка в УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
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), у которой эти модули такие-же, по крайней мере упомянутые методы, и она прекрасно запускается в режиме управляемого приложения. Подскажите, куда копнуть можно? Конфа с ошибкой чистая, правок там нет вообще. Мне так-то первый вопрос решить надо, но второй меня тоже как-то напряг. Да, конфигурацию проверял на двух разных компах. |
|||
1
Omskdizel
23.07.21
✎
15:11
|
Прикольно. Запустил проверку конфигурации с галкой "Управляемое приложение" и она в обеих ругается на этот метод. Вообще не понимаю... Права может неполные...
|
|||
2
ДенисЧ
23.07.21
✎
15:12
|
В управлемых формах глобальных переменных не сушествует...
|
|||
3
Omskdizel
23.07.21
✎
15:14
|
(2) Причем тут глобальные переменные, если ругается на функцию?
|
|||
4
ДенисЧ
23.07.21
✎
15:18
|
(3) А функция - это тоже в своём роде переменная )))
Смотри галки на модуле... И контекст вызова. Может, она у тебя НаКлиенте определена, а управляемая форма хочет её с сервера позвать |
|||
5
Omskdizel
23.07.21
✎
15:22
|
Такс... Сработало тяжелое наследие 7.5 и 7.7. Глобальный модуль - это тупо один из общих модулей и сам по себе нихрена не глобальный. Убил бы того, кто так модуль назвал... Попробую воткнуть функцию в модуль управляемого приложения.
|
|||
6
Omskdizel
23.07.21
✎
15:22
|
(4) Спасибо, что открыл мне глаза :)
|
|||
7
Omskdizel
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) Может просто взять обработку на обычных формах ? И начать решать вопрос с обменом ?
|
|||
10
Omskdizel
23.07.21
✎
15:34
|
(9) А где ее добыть на обычных формах?
|
|||
11
ДенисЧ
23.07.21
✎
15:35
|
Ну, регистрация изменений есть в самой ут10. Ну, 5 лет назад, как минимум, была )))
А так - в комплекте КД2 тоже вроде есть. |
|||
12
Omskdizel
23.07.21
✎
15:35
|
В УТ 10 ее как раз нет. В 11 есть, в БП 3 есть.
|
|||
13
Omskdizel
23.07.21
✎
15:36
|
Так, в конвертации нашел, щас попробую.
|
|||
14
Гипервизор
23.07.21
✎
15:37
|
(12) Неправда.
|
|||
15
ДенисЧ
23.07.21
✎
15:43
|
(12) Черепашка!!!!
Есть она там. Искать надо. |
|||
16
Omskdizel
23.07.21
✎
16:02
|
(14)(15)
Сорян, отвлекли. Ребят, я все обменки облазил. Куда только не тыкался. Не нашел в 10.3 просмотр регистрации изменений. Можете сказать, куда ткнуться? |
|||
17
ДенисЧ
23.07.21
✎
16:04
|
(16) Операции - обработки - смотрел?
А так, я видел в интерфейсе это в настройке узла плана. |
|||
18
ДенисЧ
23.07.21
✎
16:04
|
ПРямо наверху кнопка была.
|
|||
19
Omskdizel
23.07.21
✎
16:06
|
(17) В настройке обмена точно отсутствует. В обработках нашел, спасибо!
|
|||
20
Гипервизор
23.07.21
✎
16:09
|
(19) Внезапно, да? Обработка лежит в обработках..
|
|||
21
Omskdizel
23.07.21
✎
16:10
|
(20) Непонятно, кто мог такое придумать :)) Смотрю в зарегистрированные объекты - а там все как обычно. И объектов то минимум. Не хочется думать, что ошибка в правилах обмена.
|
|||
22
Kassern
23.07.21
✎
16:11
|
(16) все там же, операции - обработки- регистрация изменений узла или как то так
|
|||
23
Гипервизор
23.07.21
✎
16:13
|
Давно бы уже эту ошибку про колонку в правилах поискали.
|
|||
24
Omskdizel
23.07.21
✎
16:15
|
(23) Дак он не пишет, какая колонка его не устраивает. Если бы написал...
|
|||
25
Гипервизор
23.07.21
✎
16:17
|
(24) Я так понимаю ошибка обмена в ЖР зарегистрировалась же? Что там конкретно в ошибке?
|
|||
26
Новый1сник2
23.07.21
✎
16:18
|
(0) если обмен через правила, посмотреть в ЖР какая ошибка и в КД2 исправить.
|
|||
27
Новый1сник2
23.07.21
✎
16:20
|
+ обмен с УТ 10.3 обычно слетает, если реквизит переименовали или удалили
|
|||
28
серый КТУЛХУ
23.07.21
✎
16:29
|
правила обмена. изначально зашиты в состав конфигурации (в макет). но могут в режиме редприятия выгружаться-загружаться. и исправляться как надо с помощью кд2.
а не весь тот муторный но страшно интересные путь, на который ты вствупил... |
|||
29
серый КТУЛХУ
23.07.21
✎
16:31
|
ЗЫ: не(!) правила регистрации - т.к. там авторегистрация как правило в типовых отключена, и все по алгоритмам "регистрируется как надо" программно через подписки.
|
|||
30
Omskdizel
23.07.21
✎
17:03
|
(26) Что значит обмен через правила? Обмен идет через синхронизацию. Поэтому вываливается чисто программная ошибка, а не генерируемая обработкой КДшная ошибка, с указанием ПКО, ПКС и т.д.
Текст ошибки в УТ: ВНЕШНЕЕ СОЕДИНЕНИЕ: Неверное имя колонки {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8716)}: Коллекция.Колонки.Добавить(ИмяПоля); {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8624)}: КоллекцияГруппировки = ИнициализацияТаблицыПоКлючевымПолям(МассивКлючевыхПолейПоиска); {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10239)}: ЗагрузитьТабличнуюЧасть(Объект, Имя, ИнформацияОТипах, ПараметрыОбъекта, Правило); {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(16428)}: ПоследнийОбъектЗагрузки = ПрочитатьОбъект(); {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2706)}: ПроизвестиЧтениеДанныхВРежимеВнешнегоСоединения(ЧтениеСообщения); по причине: Неверное имя колонки Судя по "ВНЕШНЕЕ СОЕДИНЕНИЕ", ошибка на стороне БП возникает. Какой-то колонки не хватает именно там. Да, обмен идет УТ -> БП, односторонний (ну, насколько синхронизация это позволяет). |
|||
31
Omskdizel
23.07.21
✎
17:05
|
Я понимаю, что правила можно и КДшкой посмотреть. Они даже отдельными файлами в шаблоне лежат, если надо. Если загрузить структуру конфы и правила конвертации - КД покажет, что ссылка на свойство неправильная?
|
|||
32
Omskdizel
23.07.21
✎
17:07
|
Кстати, еще интересный момент. У них две пары баз УТ-БП, захотелось им развести юрлица по разным базам. Версии естественно одинаковые напрочь. И во второй паре проблем с обменом нет. Что как бы непонятно...
|
|||
33
Новый1сник2
23.07.21
✎
17:22
|
(30) синхронизации разные бывают, в последних через универсальный формат. в ут 10.3 (последнюю версию не смотрел) обмен идет по правилам обмена которые можно выгрузить в КД2 и посмотреть, подравнять.
|
|||
34
Новый1сник2
23.07.21
✎
17:26
|
(31) давно не смотрел КД2, но проверка там есть
|
|||
35
Новый1сник2
23.07.21
✎
17:32
|
(0) и с УТ 10.3 пора переходить на что то другое, скоро поддержка УТ 10.3 прекратится
|
|||
36
Omskdizel
23.07.21
✎
17:41
|
(35) Ну такое. Скорость работы УТ10 при небольшом количестве рабочих мест значительно выше скорости работы УТ11. Уж и не знаю почему. У меня на одном сервере УТ10 и БП3, при 20ти работающих в УТ, БП еле шевелится при одном пользователе. Уж и не знаю, что ей там надо.
|
|||
37
Новый1сник2
23.07.21
✎
18:09
|
(36) фирма 1С, обычно заранее предупреждает о сроках поддержки, например БП 2.0 максимум март следующего года. по УТ 10.3 не знаю, но думаю не дольше, а то и меньше УПП. считаю лучше заранее спланировать переход, в т.ч. по необходимости абгрейдить железо. делать это потом в в пожарном порядке не вариант, лучше заранее сделать переход. скорость на ОФ конечно выше, но не стоит ждать когда они превратятся в тыкву.
|
|||
38
Гипервизор
23.07.21
✎
18:38
|
||||
39
Omskdizel
03.08.21
✎
15:31
|
Коллеги, таки не смог победить данную ошибку. Может кто что сможет подсказать еще какой-нибудь вариант попробовать?
Что делал: (38) Сходил по ссылке, попробовал, выдало то же самое, только со стороны Бухгалтерии. Неверное имя колонки {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8716)}: Коллекция.Колонки.Добавить(ИмяПоля); {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8624)}: КоллекцияГруппировки = ИнициализацияТаблицыПоКлючевымПолям(МассивКлючевыхПолейПоиска); {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(10239)}: ЗагрузитьТабличнуюЧасть(Объект, Имя, ИнформацияОТипах, ПараметрыОбъекта, Правило); {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(16428)}: ПоследнийОбъектЗагрузки = ПрочитатьОбъект(); {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2706)}: ПроизвестиЧтениеДанныхВРежимеВнешнегоСоединения(ЧтениеСообщения); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(6946)}: ОбработкаОбменаДаннымиВнешнееСоединение.ВыполнитьВыгрузкуДанных(ОбработкаДляЗагрузкиДанных); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(3939)}: ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСоединению(Отказ, {Обработка.ВыполнениеОбменаДанными.МодульМенеджера(38)}: ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( {(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5113)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ДлительныеОперации.Модуль(1041)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); {ОбщийМодуль.ДлительныеОперации.Модуль(1031)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры); по причине: Неверное имя колонки Загрузил конфигурации и правила конвертации. Проверку обмен проходит. Никаких ошибок не выдает. Попробовал убирать из регистрации отдельные объекты. Тут странная картина: Обязательно должны быть убраны СписаниеТоваров и ОтчетОРозничныхПродажах. Но недостаточно. Дальше копать в этом направлении не стал, ибо непонятно, что делать с полученным результатом. Попробовал в режиме отладки включить Остановку по ошибке. По сути в обработку конвертации прилетает ответ, что был косяк и вызывает исключение. Текст ошибки выше. Сейчас попробую по точкам в ошибке половить что-нибудь, не знаю, что получится. Может кто знает, куда еще копнуть? Есть какой-нибудь режим отладки у синхронизации? |
|||
40
Vstur
03.08.21
✎
15:58
|
(39) Нет?
Ошибка 00-00386167 Код ошибки: 00-00386167 Код(ы) обращения: HL-360160 Статус: Принята к исправлению Зарегистрирована: 30.07.2021 Планируется исправить: "1C:Управление торговлей 10", версия 10.3.71 Описание: При выполнении обмена УТ 10.3 - БП 3.0 (прямое подключение) возникает ошибка: ВНЕШНЕЕ СОЕДИНЕНИЕ: Неверное имя колонки |
|||
41
Omskdizel
03.08.21
✎
16:12
|
(40) Ух, блин... Печально, если так. Скорее всего так. Ибо накопал презабавнейшую вещь при отладке:
Вот упомянутая функция:
Проверил МассивКлючевыхПолейПоиска, обычный массив со строками. Т.е. тут ошибки быть не может в принципе! Нет никаких операций, которые ошибку могли бы генерировать. А она есть, на последнем элементе массива, "СтранаПроисхождения". |
|||
42
Vstur
03.08.21
✎
16:18
|
(41) Опубликовали сегодня ночью...
|
|||
43
Omskdizel
03.08.21
✎
16:18
|
Ну кстати, судя по ошибке, лично мне непонятно, как ее можно исправить обновлением конфигурации... Тут скорее с платформой проблема. Код то правильный, в нем нет проблем.
|
|||
44
Vstur
03.08.21
✎
16:22
|
К пятнице релиз точно выйдет, уж больно много зафиксированных и исправленных ошибок накопилось
|
|||
45
Omskdizel
03.08.21
✎
16:33
|
Мда... Я протупил и слишком глубоко начал копать. Синхронизация шла через прямое подключение. Сделал через файл и все заработало. Что как бы удручает, ввиду потерянного времени... В следующий раз может умнее буду :)
|
|||
46
Omskdizel
03.08.21
✎
16:34
|
Vstur, спасибо огромное, а то бы я еще долго бился над этим кодом :)
|
|||
47
hhhh
03.08.21
✎
23:08
|
(43) куча вариантов с именем колонки. Может быть пробел, может не начинается на букву. Может дублируется имя.
|
|||
48
Omskdizel
04.08.21
✎
09:37
|
(47) Пардон, не написал, что массив я посмотрел. Пробелов и дублей там не было. Это были колонки с табличной части Товары из РеализацияТоваровУслуг.
|
|||
49
TWAIN
20.09.21
✎
00:45
|
Именно "дублируется имя".
Обновление облегчения не принесло, вернее работать то стало, но неправильно. Итак, раньше с серии номенклатуры бралась ГТД и страна происхождения. Потом в рамках прослеживаемости добавили страну происхождения и в табличную часть "товары". В результате в обмене два одинаковых значения приемника конфликтовали с выдачей такой ошибки. Сейчас они оставили только передачу ТЧ в ТЧ. Однако, не знаю как у кого, но у нас по-прежнему склад заполняет серию и им нет желания еще и в ТЧ вносить то же самое. Поэтому я написал такую вставку к полю, например для поступления товаров и услуг это №68: <ПриВыгрузке> Если ЗначениеЗаполнено(ОбъектКоллекции.СтранаПроисхождения) Тогда Значение = ОбъектКоллекции.СтранаПроисхождения Иначе Если ЗначениеЗаполнено(ОбъектКоллекции.СерияНоменклатуры) И ЗначениеЗаполнено(ОбъектКоллекции.СерияНоменклатуры.СтранаПроисхождения) Тогда Значение = ОбъектКоллекции.СерияНоменклатуры.СтранаПроисхождения; Иначе Значение = Неопределено; КонецЕсли; КонецЕсли; </ПриВыгрузке> |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |