|   |   | 
| 
 | Ошибка обмена с сайтом (Розница) | ☑ | ||
|---|---|---|---|---|
| 0
    
        romanыч 13.09.20✎ 07:30 | 
        В 1С Розница не работает обмен с сайтом.
 Ошибка: Метод объекта не обнаружен (Свойство) Если НЕ ОбъектАдреса.Свойство("AddressType") Тогда Функция ПредставлениеНаселенногоПункта(ОбъектАдреса) Экспорт АдресныеУровниБезСокращений = Новый Соответствие(); АдресныеУровниБезСокращений.Вставить("MunDistrict", Истина); АдресныеУровниБезСокращений.Вставить("Settlement", Истина); Если НЕ ОбъектАдреса.Свойство("AddressType") Тогда СписокПолейАдреса = "Area,City"; ИначеЕсли РаботаСАдресамиКлиентСервер.ЭтоМуниципальныйАдрес(ОбъектАдреса.AddressType) Тогда СписокПолейАдреса = "Area,MunDistrict,Settlement,CityDistrict,Locality,Territory"; Иначе СписокПолейАдреса = "Area,District,City,CityDistrict,Locality,Territory"; КонецЕсли; СписокПолей = СтрРазделить(СписокПолейАдреса, ","); Адрес = Новый Массив; Для каждого ИмяПоля Из СписокПолей Цикл Если ОбъектАдреса.Свойство(ИмяПоля) И ЗначениеЗаполнено(ОбъектАдреса[ИмяПоля]) Тогда ПредставлениеУровня = ОбъектАдреса[ИмяПоля] + ?(АдресныеУровниБезСокращений.Получить(ИмяПоля) = Неопределено, " " + ОбъектАдреса[ИмяПоля + "Type"], ""); Адрес.Добавить(СокрЛП(ПредставлениеУровня)); КонецЕсли; КонецЦикла; Возврат СтрСоединить(Адрес, ", "); КонецФункции Тип переменной ОбъектАдреса это ОбъектXDTO Раньше обмен работал. Давно не пользовался. С тоговремени производил обновление конфигурации и платформы. Подскажите,что можно поправить. | |||
| 1
    
        Ёпрст гуру 13.09.20✎ 08:46 | 
        (0) ну включи в отладчике остановку по ошибке и посмотри, че прилетает в ОбъектАдреса, мот там списокXDTO или Неопределен     | |||
| 2
    
        romanыч 13.09.20✎ 15:59 | 
        (1) Тип переменной ОбъектАдреса это ОбъектXDTO
 Это я в отладчике посмотрел | |||
| 3
    
        Ёпрст гуру 13.09.20✎ 16:08 | 
        (2) в момент ошибки, или когда ?     | |||
| 4
    
        RomanYS 13.09.20✎ 16:09 | 
        (2) У ОбъектXDTO нет метода Свойство. 
 >> Раньше обмен работал. Давно не пользовался. Значит либо обмен не работал, либо этот код не вызывался, либо туда приходил не ОбъектXDTO (наиболее вероятно) | |||
| 5
    
        Ёпрст гуру 13.09.20✎ 16:11 | 
        И..у ОбъектXDTO нет метода Свойство(), есть Свойства()     | |||
| 6
    
        Ёпрст гуру 13.09.20✎ 16:14 | 
        и судя по-коду, туда должна прилетать Структура     | |||
| 7
    
        romanыч 13.09.20✎ 17:35 | 
        Победил при помощи добавления новой функции:
 &НаСервере Функция ПеременнаяСодержитСвойство(Переменная, ИмяСвойства) Экспорт // Инициализируем структуру для теста с ключом (значение переменной "ИмяСвойства") и значением NULL СтруктураПроверка = Новый Структура; СтруктураПроверка.Вставить(ИмяСвойства, NULL); // Заполняем созданную структуру из переданного значения переменной ЗаполнитьЗначенияСвойств(СтруктураПроверка, Переменная); // Если значение для свойства структуры осталось NULL, то искомое свойство не найдено, и наоборот. Если СтруктураПроверка[ИмяСвойства]= NULL Тогда Возврат Ложь; Иначе Возврат Истина; КонецЕсли; КонецФункции Но дальше возникла новая проблема.Присутствует ссылка на функцию, которой нету )) | |||
| 8
    
        RomanYS 13.09.20✎ 17:41 | 
        (7) Почему не разобраться с ошибкой и не исправить её? Ты рановато на путь велосипедостроения встал.     | |||
| 9
    
        romanыч 13.09.20✎ 18:21 | 
        (8) А чем это решение не "разобраться с ошибкой"? Как с ней можно разобраться, если разработчик использовал метод, которого нет у данного типа объекта? Я не совсем понимаю, как еще можно разобраться с ошибкой.     | |||
| 10
    
        RomanYS 13.09.20✎ 18:36 | 
        (9) разработчик вероятно писал под структуру. Ты сейчас сэмулируешь один метод, будет падать на другом, ты ещё один костыль добавишь.
 Если разобраться в лоб не получается, но точно знаешь, что работало, может стоит поднять бэкапы посмотреть как работало. | |||
| 11
    
        romanыч 13.09.20✎ 19:58 | 
        (10) нихрена там не под структуру писано. Все функции,где адрес формируется, имеют в названии XDTO да XML, да и в коде структурой не пахнет. Бэкапы старые нашел, там вообще код не такой, все совершенно изменилось. Разбираться долго придется, так что оставим так до следующего обновления. Благо все работает.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |