Имя: Пароль:
1C
1С v8
Ошибка отправки данных при синхронизации
0 agidov
 
17.03.19
12:21
День добрый, при синхронизации с БП 3.0, после обновления  УТ до версии 11.4.7.114, при отправке данных появляется ошибка

"Направление: Отправка.
ПОД: Документ_ЗаказПоставщику_Отправка.
ПКО: Документ_ЗаказПоставщику_Отправка.
Объект: Документ объект: Заказ поставщику, Заказ поставщику AB0T-4842 от 15.03.2019 16:42:22 (e1cib/data/Документ.ЗаказПоставщику?ref=baaa1c1b0dee81c911e94727e1ca5a93).

{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(3981)}: Ошибка при вызове метода контекста (Проверить)
        ОбъектXDTO.Проверить();
по причине:
Ошибка проверки данных XDTO:
Структура объекта '/Товары/Строка[1]/ДанныеНоменклатуры/Упаковка' не соответствует типу: {http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6}КлючевыеСвойстваУпаковка
Проверка свойства 'Наименование':
    форма: Элемент
    имя: {http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6}Наименование
    тип: {http://www.w3.org/2001/XMLSchema}string
Не установлено значение одного из следующих свойств: ЕдиницаИзмерения"
До обновы все работало хорошо, не могу понять в чем проблема, я не программист, но что то поправить могу, поэтому надеюсь знающие люди подскажут!
1 jsmith82
 
17.03.19
12:24
Видимо, реквизит ссылается на битую ссылку или null
Открыть объект в режиме предприятия и перевыбрать реквизит
2 jsmith82
 
17.03.19
12:26
Поставь точку останова на ошибке, выцепи проблемный объект и далее (1)
3 agidov
 
17.03.19
12:51
(1) Самое интересное, что упаковки я не использую в номенклатурах
4 hhhh
 
17.03.19
13:18
(3) вы не поняли: Единица измерения не заполнена. Поэтому про упаковки тут неинтересно.
5 Михаил Козлов
 
17.03.19
14:04
(4)+ Запросом из справочника УпаковкиЕдиницыИзмерения получите и проверьте, что все заполнено.
6 agidov
 
17.03.19
16:19
(4) Единица измерения, где не заполнена?
смотрю конкретный заказ, там две позиции, в этих номенклатурах, стоит единица хранения шт, там нет единицы измерения. В номенклатуре все заполнено, в таб части в заказе, тоже стоят шт. все заполнено.
7 hhhh
 
17.03.19
16:37
(6) ну, открываешь Все Функции: справочник УпаковкиЕдиницыИзмерения и начинаешь его методично просматривать, можешь десятками, можешь сотнями строчек. Находишь места, где не заполнено Наименование, методично заполняешь.
8 jsmith82
 
17.03.19
16:37
смотри в отладчике при создании на сервере у формы проблемного объекта по выражению Объект.Ссылка на предмет битой ссылки или null
9 ИльдарТ
 
17.03.19
19:27
Интересно то, что такая ошибка появилась не только у автора, но и у некоторых других (например, и у меня). До обновления синхронизация проходила без ошибок.
10 hhhh
 
17.03.19
19:38
(9) ужесточили проверку на заполнение реквизитов, значит.
11 ИльдарТ
 
17.03.19
19:41
Но как определить про какой реквизит идет речь ? ТиИ проведен, справочник "Упаковки и единицы измерения" заполнен полностью (все реквизиты).
12 Garykom
 
гуру
17.03.19
19:57
Единицы проверь у всей Номенклатуры (базовая или как оно там) в Заказ поставщику AB0T-4842 от 15.03.2019 16:42:22
13 jsmith82
 
17.03.19
20:02
чо, никто в отладчик ещё не залез?
14 jsmith82
 
17.03.19
20:04
в 1с какую-то ошибку обмена зарегистрировали, но непонятно, этот ли случай
15 ИльдарТ
 
17.03.19
20:06
(13) А куда поставить точку останова ?
16 jsmith82
 
17.03.19
20:18
Открываешь конфигуратор
Откладка - подключение - автоматическое подключение - фоновые задания
Отладка - остановка по ошибке - останавливаться по ошибке
F5
Запускаешь обмен
В конфигураторе происходит остановка на ошибках. Если ошибка не та, жмёшь далее F5. В итоге попадёшь куда, надо
Там смотришь, что за объект вызывает ошибку
Может, сразу поймёшь, в чём косяк
Затем, ставишь точку останова в событии При создании на сервере у формы элемента / документа косячного объекта
Вычисляешь выражение Объект.Ссылка, раскрываешь все реквизиты (и реквизиты реквизитов, если надо) и смотришь, где косяк. В режиме предприятия не всё видно.
Не забыть потом снять флажки (фоновые задания и останавливаться по ошибке)
17 ИльдарТ
 
17.03.19
22:08
(16) Хотел показать картинку, но не знаю как.
Действительно, значение Неопределено по пути: ОбъектXDTO.Товары.Строка[1].ДанныеНоменклатуры.Упаковка.ЕдиницаИзмерения
Но во всех остальных местах все заполнено.
18 jsmith82
 
17.03.19
22:11
(17) ну вот вычисли эту упаковку и перевыбери там единицу измерения (ставишь курсор в поле, нажимаешь энтер - поставится пустое значение, а не неопределено)
19 jsmith82
 
17.03.19
22:12
должно быть СправочникСсылка.УпаковкиЕдиницыИзмерения.ПустаяСсылка (если не заполнено)
20 ИльдарТ
 
17.03.19
22:25
(19) Но если я открываю это справочник, то там все заполнено. Может быть какие-то скрытые поля ?
21 jsmith82
 
17.03.19
22:52
(20) Поставь точку останова при создании на сервере формы элемента и вычисли выражение Объект.Ссылка
22 ИльдарТ
 
17.03.19
23:31
(21) Я так и делаю, но проблем не вижу. Как бы мне показать что я получаю при этом ?
Здесь картинку можно вывести ?
23 jsmith82
 
17.03.19
23:40
24 ИльдарТ
 
17.03.19
23:50
(21) Похоже, что есть какая-то кривость в базе.
Отменил регистрацию всех объектов. Скопировал один из документов, на которых вываливалась ошибка. И запустил синхронизацию. Синхронизация прошла успешно.
Что можно сделать с базой, кроме ТиИ ?
25 jsmith82
 
17.03.19
23:54
ничего
26 hhhh
 
18.03.19
00:20
(24) ошибка не в документе, а в справочнке. Ты справочник ЕдиницыИзмерения зарегистрируй, вот тогда попрут ошибки.
27 ИльдарТ
 
18.03.19
00:32
(26) Зарегистрировал весь справочник "Упаковки и единицы измерения" (для документов регистрацию снял). Синхронизация прошла без проблем. А синхронизация документов не проходит.
28 Garykom
 
гуру
18.03.19
00:40
Номенклатура же. Или документ был неправильно в ТЧ заполнен, там есть скрытые колонки
29 Garykom
 
гуру
18.03.19
00:40
Я уже столько разных прикольных глюков обнаружил при типовой синхронизации УТ11-БП3.
30 ИльдарТ
 
18.03.19
19:56
(29) Оказалось, что нужно не заполнять реквизит табличной части документа "Упаковка",
а очистить :()
            ДокументОбъект = Выборка.ПолучитьОбъект();
            Товары=ДокументОбъект.Товары;
            Для Каждого Товар Из Товары Цикл
                Товар.Упаковка="";
            КонецЦикла;
                ДокументОбъект.Записать();
31 agidov
 
18.03.19
23:54
(30) А откуда это нужно удалить?
32 es3000
 
27.03.19
11:53
Похоже мы тоже столкнулись с такой же ошибкой.
Интересно, что в одних документах - все нормально.
А в каком-то одном конкретном документе - ошибка.
33 Garykom
 
гуру
27.03.19
12:07
(32) Ну так перезаполнить этот документ правильно
34 es3000
 
27.03.19
12:10
(33) Перезаполняли менеджеры, что-то не получается.

Похоже, что проблема в том, что товар поступил в килограммах, и единица измерения у него указана килограммы.
А в документе он продается в тоннах.
И вот где-то на этапе перевода килограммов в тонны не указан коэффициент.

Вхожу в справочник "Упаковки и единицы измерения" - справочник пустой!
Ни фильтров ни отборов не установлено.
В чем может быть дело?