Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 1
Регистрация: 13.02.2021
Сообщений: 66
1

Ошибка отображения типов

10.05.2022, 09:53. Показов 2846. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Еще раз всем здравствуйте! Когда пытаюсь обменяться данными между мобильной и основной центральной базой, почему то выходит ошибка отображения типов: Отсутствует отображение для типа 'ТаблицаЗначений'{Справочник.Пьесы.Форма.ФормаСписка.Форма}. Данные появляются в центральной базе после добавления данных в мобильной базе, но вот ошибка меня смущает

Сам код вот (Мобильная платформа)
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 &НаСервере
Процедура ПолучитьПьесы()
    Попытка
        HTTPСоединение=Новый HTTPСоединение("192.168.43.241",,,,,30);   
        HTTPЗапрос=Новый HTTPЗапрос("/CenterMaxServer/hs/HTTPEx");  
        HTTPЗапрос.Заголовки.Вставить("Content-Type","text/html; charset=utf-8;");
        ОтветСервера=HTTPСоединение.Получить(HTTPЗапрос);
        Если ОтветСервера.КодСостояния=200 Тогда
            ДанныеСервера=Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));  
            Для Каждого СтрокаСервер Из ДанныеСервера Цикл 
                Пьеса=Справочники.Пьесы.НайтиПоНаименованию(СтрокаСервер.Наименование);
                Если Пьеса.Пустая() Тогда     
                Пьеса=Справочники.Пьесы.СоздатьЭлемент(); 
                Пьеса.Наименование=СтрокаСервер.Наименование;  
            Иначе                                              
                Пьеса=Пьеса.ПолучитьОбъект();
                            КонецЕсли; 
                Пьеса.Записать(); 
                            КонецЦикла;
        Иначе
            Попытка
                Сообщить(Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8")));
            Исключение
                Сообщить(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));
                КонецПопытки;
            КонецЕсли;
    Исключение
            Сообщить("Возникла проблема с интернетом");
    КонецПопытки;
КонецПроцедуры
 
 &НаСервере
Функция Сериализовать(ТелоJSON)
    ЗаписьJSON=Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    СжатыйОбъект=Новый ХранилищеЗначения(ТелоJSON, Новый СжатиеДанных(9));
    СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, СжатыйОБъект);
    Возврат СтрЗаменить(ЗаписьJSON.Закрыть(),"#","_РЕШЕТКА_");
КОнецФункцИИ
 
 &НаСервере
Функция Десериализовать(СтрокаJSON)
    ЧтениеJSON=Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтрЗаменить(СтрокаJSON,"_РЕШЕТКА_","#"));
СЖатыйОбъект=СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON, Тип("ХранилищеЗначения"));
ЧтениеJSON.Закрыть();
Возврат СжатыйОбъект.Получить();
КОнецФУНКциИ
 
&НаКлиенте
Процедура Обновить(Команда)
    ПолучитьПьесы();
КонецПроцедуры
 
 &НаСервере
Функция ПолучитьРезультатВБазе()
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   Пьесы.Наименование КАК Наименование
        |ИЗ
        |   Справочник.Пьесы КАК Пьесы";
    СтрТела = Запрос.Выполнить().Выгрузить();  
    Попытка
        HTTPСоединение=Новый HTTPСоединение("192.168.43.241",,,,,30);   
        HTTPЗапрос=Новый HTTPЗапрос("/CenterMaxServer/hs/HTTPEx/plays");  
        HTTPЗапрос.Заголовки.Вставить("Content-Type","text/html; charset=utf-8;");  
        HTTPЗапрос.УстановитьТелоИзСтроки(Сериализовать(СтрТела));
        ОтветСервера=HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
        Если ОтветСервера.КодСостояния=200 Тогда
            Возврат Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));  
            Иначе
            Попытка
                Сообщить(Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8")));
            Исключение
                Сообщить(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));
                КонецПопытки;
            КонецЕсли;
    Исключение
            Сообщить("Возникла проблема с интернетом");
        КонецПопытки;  
        КонецФункции 
            
&НаКлиенте
        Процедура ОтправитьДанные(Команда)
            ПолучитьРезультатВБазе();
        КонецПроцедуры
Если нужна дополнительная информация могу потом прикрепить или выгрузку обеих баз дать. Заранее спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2022, 09:53
Ответы с готовыми решениями:

Ошибка отображения типов
Здравствуйте. В собственной конфигурации есть документ "ОбъектныйГрафик" с Тч "Задания". в которую...

Ошибка отображения типов: Отсутствует отображение для типа 'РезультатЗапроса'
Добрый день, пытаюсь заполнить список выбора для колонки таблицы значений результатами запроса, но...

Ошибка отображения типов
Такая ситуация: Поставил тестовую УНФ 1.6.11.28, уж очень хотелось опробовать наконец-то включенные...

Ошибка отображения типов
Всем доброго дня! У меня достаточно банальная проблема, знаю, что обсуждается на многих форумах,...

5
322 / 264 / 109
Регистрация: 07.04.2011
Сообщений: 1,526
10.05.2022, 15:52 2
Лучший ответ Сообщение было отмечено RUBYX как решение

Решение

ПолучитьРезультатВБазе() почему это функция? Значение возврата то на клиенте нигде не используется
Если ОтветСервера.КодСостояния=200 Тогда
Возврат Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));
Вот тут возможно летит мутабельное значение .
1
0 / 0 / 1
Регистрация: 13.02.2021
Сообщений: 66
10.05.2022, 18:29  [ТС] 3
Вроде когда я писал "процедура", то мне ошибку выдавало, что нельзя использовать в процедуре или что-то типо такого, да и мы это по инструкционке делаем)

Добавлено через 17 минут
Кстати спасибо, я просто удалил эту строку и все работает как надо!)
0
322 / 264 / 109
Регистрация: 07.04.2011
Сообщений: 1,526
10.05.2022, 18:51 4
Цитата Сообщение от RUBYX Посмотреть сообщение
то мне ошибку выдавало, что нельзя использовать в процедуре
Верно.Процедура не может возвращать значение.

Цитата Сообщение от RUBYX Посмотреть сообщение
Кстати спасибо, я просто удалил эту строку и все работает как надо!)
Ну возможно оно где-то и должно использоваться.Тут вариант что результат должен возвращаться в процедуру с директивой "НаСервере" и обрабатываться,и предаваться на клиент в виде "простого типа".
1
0 / 0 / 1
Регистрация: 13.02.2021
Сообщений: 66
10.05.2022, 19:04  [ТС] 6
Всем спасибо еще раз!
0
10.05.2022, 19:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2022, 19:04
Помогаю со студенческими работами здесь

Ошибка отображения
В Windows 8.1 неверно отображается приложение, как бы в окне с рамками, причем эти рамки закрывают...

Ошибка отображения
Добрый день, столкнулся с проблемой. Не отображаются корректно элементы при редактировании...

Ошибка отображения
Уважаемые, проблема возникает с отображением (или подключением) страниц. страница index.php:...

Ошибка отображения Random.next(10)
Суть проста. Хотелось посмотреть как работает Random.next(10) Для этого инициализирую переменную...

Ошибка отображения маркеров
не отображаются стандартные маркеры,а также заменяет символы ,вместо маркеров показывает квадратик...

Ошибка отображения шашки
Зачем множите темы? Вот Ваша исходная тема...

Ошибка отображения матрицы
Доброе время суток. Подскажите пожалуйста, почему при создании матрицы (матрица находится в самом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru