![]() |
|
УПП редакция 1.3 (1.3.43.2). Web-клиент. | ☑ | ||
---|---|---|---|---|
0
sol
30.10.13
✎
12:36
|
Платформа - 1С:Предприятие 8.2 (8.2.19.68).
База - УПП редакция 1.3 (1.3.43.2). SQL-серверный вариант. Прилично дописанная. Уважаемые форумчане! Для пользователей Web-клиента написал поиск в форме справочника элементов другого справочника. Писал в отладчике под тонким клиентом. Под тонким клиентом все работает нормально. Но, как только стал работать на Web-клиенте, то стали возникать странные ошибки. Система выдает сообщение: Неизвестная ошибка.: gkQ.toUpperCase is not a function Сейчас приведу текст кода (я тестирую, поэтому не удивляйтесь лишним Сообщить() и Дом = "10";): &НаСервере Процедура ОтборПлощадок2(BUILD_ID, Управление, Улица, Дом, Литер) Сообщить("BUILD_ID = "+Строка(BUILD_ID)); Сообщить("Управление = "+Строка(Управление)); Сообщить("Улица = "+Строка(Улица)); Сообщить("Дом = "+Дом); Сообщить("Литер = "+Литер); BUILD_ID = 74370; Управление = Справочники.Подразделения.НайтиПоНаименованию("Управление №1"); Улица = Справочники.пг_Улицы.НайтиПоНаименованию("Кубинская"); Дом = "10"; Литер = "А"; Запрос = Новый Запрос("ВЫБРАТЬ | пг_СвязиСOracle.ВладелецЗаписи КАК Ссылка |ИЗ | РегистрСведений.пг_СвязиСOracle КАК пг_СвязиСOracle |ГДЕ | пг_СвязиСOracle.ID = &ID | И ТИПЗНАЧЕНИЯ(пг_СвязиСOracle.ВладелецЗаписи) = ТИП(Справочник.лг_Площадки) | И пг_СвязиСOracle.ВладелецЗаписи.Владелец = &Владелец | И пг_СвязиСOracle.ВладелецЗаписи.ПометкаУдаления = ЛОЖЬ | И пг_СвязиСOracle.ВладелецЗаписи.Улица = &Улица | И пг_СвязиСOracle.ВладелецЗаписи.Дом = &Дом | И пг_СвязиСOracle.ВладелецЗаписи.Литер = &Литер"); Запрос.УстановитьПараметр("ID",BUILD_ID); Запрос.УстановитьПараметр("Владелец",Управление); Запрос.УстановитьПараметр("Улица",Улица); Запрос.УстановитьПараметр("Дом",Дом); Запрос.УстановитьПараметр("Литер",Литер); ТЗ = Запрос.Выполнить().Выгрузить(); МассивПлощадок = ТЗ.ВыгрузитьКолонку("Ссылка"); Сообщить("1"); Список.Отбор.Элементы.Очистить(); Сообщить("2"); ЭлементОтбора1 = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); ЭлементОтбора1.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ЭлементОтбора1.Использование = Истина; ЭлементОтбора1.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементОтбора1.ПравоеЗначение = МассивПлощадок; Сообщить("3"); Список.Порядок.Элементы.Очистить(); Сообщить("4"); ЭлементПорядка1 = Список.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных")); ЭлементПорядка1.Поле = Новый ПолеКомпоновкиДанных("Наименование"); ЭлементПорядка1.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр; ЭлементПорядка1.Использование = Истина; Сообщить("5 при ошибке печатается"); КонецПроцедуры &НаКлиенте Процедура ТабличноеПолеАдресовПриАктивизацииСтроки(Элемент) Если Строка(Элемент.ТекущиеДанные) <> "" Тогда //ОтборПлощадок(Элемент.ТекущиеДанные.BUILD_ID, Элемент.ТекущиеДанные.Управление,Элемент.ТекущиеДанные.Улица,Элемент.ТекущиеДанные.Дом,Элемент.ТекущиеДанные.Литер); ОтборПлощадок2(Элемент.ТекущиеДанные.BUILD_ID, Элемент.ТекущиеДанные.Управление,Элемент.ТекущиеДанные.Улица,Элемент.ТекущиеДанные.Дом,Элемент.ТекущиеДанные.Литер); Сообщить("6 при ошибке уже не печатается"); //ОтборПлощадок(Элемент.ТекущиеДанные); КонецЕсли; Сообщить("7"); КонецПроцедуры Так вот на тонком клиенте это будет всегда работать. На ВЭБ-клиенте, указанный выше, фрагмент работает. Но стоит мне закомментировать одну из строк: 1. BUILD_ID = 74370; 2. Управление = Справочники.Подразделения.НайтиПоНаименованию("Управление №1"); 3. Улица = Справочники.пг_Улицы.НайтиПоНаименованию("Кубинская"); 4. Дом = "10"; 5. Литер = "А"; И система в ВЭБ-клиенте тут же будет выдавать ошибку: Неизвестная ошибка.: gkQ.toUpperCase is not a function Хотя, я проверял в отладчике – данные те же самые. Когда возникает ошибка, то сообщение "6 при ошибке уже не печатается" не печатается, а сообщение "5 при ошибке печатается". У кого-нибудь возникало что-нибудь подобное? |
|||
1
sikuda
30.10.13
✎
12:45
|
Да возникали. Тонкий клиент 1С отлаживает лучше.
|
|||
2
sol
30.10.13
✎
13:10
|
(1) Но работать пользователи будут в ВЭБ-клиенте. Как же решается подобная проблема?
|
|||
3
sikuda
30.10.13
✎
13:21
|
Береш бубен, взываешь к 1С. Неистово начинаешь заклинать великую и могучую. Совершаешь мистический обряд...
Или долго комментариями пытаешься выявить что-же приводит к ошибке. Пытаясь упростить код до минимума. Потом с нами поделись результатами. Может быть для тебя будет сегодня открытием, но тонкий клиент и вэб клиент иногда по разному работают... |
|||
4
sol
30.10.13
✎
13:23
|
(3) Спасибо за моральную поддержку, а то думал - шизик.
|
|||
5
sikuda
30.10.13
✎
13:27
|
Мне кстати никто не смог ответить v8: ОтправитьДляОбработки и Получить недоступны в Web-клиенте.
|
|||
6
H A D G E H O G s
30.10.13
✎
13:31
|
(5) А зачем?
|
|||
7
sol
30.10.13
✎
13:32
|
(5) У Вас более сложный случай.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |