|
Почему может не работать ПолучитьОбъект() | ☑ | ||
---|---|---|---|---|
0
1sik
22.10.14
✎
10:55
|
Запустил УТ 11.1.4.13 на 8.3.5.11.46 в обычном приложении, сделал обработку на обычной форме, на форме есть реквизит с типом документ реализация товаров ссылка, в коде
текСсылка = этотобъект.РТУ; ТекОбъект = ТекСсылка.ПолучитьОбъект(); у меня при получения объекта вылетает ошибка, причем ругается на строчку в общем модуле, относящуюся к регламентному заданию, которая ни как не может относиться к получению объекта. Вопрос в том почему не работает стандартный метод Для ссылки, копия базы в файловом варианте работает нормально, глюк только в клиент-серверном. В управляемых формах такого глюка нет. |
|||
1
hhhh
22.10.14
✎
10:58
|
когда вызывается общий модуль, производится синтаксический контроль ВСЕГО модуля, а не одной процедуры.
|
|||
2
palpetrovich
22.10.14
✎
10:59
|
тут работает, тут не работает...
че-т как-то непонятно все зто: текСсылка = этотобъект.РТУ; ТекОбъект = ТекСсылка.ПолучитьОбъект(); реквизит на форме - РТУ? |
|||
3
Maxus43
22.10.14
✎
11:00
|
не надо потому что мешать все процедуры в один общий модуль. Не просто так их называют ОбщегоНазначения, ОбщегоНазначенияСЕРВЕР, общегоНазначенияКЛИЕНТ и т.д.
|
|||
4
1sik
22.10.14
✎
11:01
|
(2) Да, я отладкой останавливался чтобы убедиться что текссылка имеет тип ДокументСсылка.
|
|||
5
Maxus43
22.10.14
✎
11:01
|
текст ошибки в студию
|
|||
6
1sik
22.10.14
✎
11:04
|
(3) При чем здесь мешать? У меня есть общий модуль для регламентных заданий, регламентное задание прекрасно работает без каких либо ошибок. Сегодня сделал обработку в модуле формы которой, две строки и она ругается на тот модуль. А идея создать обработку пришла потому что была обработка, на обычной форме, которая работала с табличными частями документа, и она ругалась как раз таки при получении объекта из ссылки.
|
|||
7
1sik
22.10.14
✎
11:05
|
(5) {ОбщийМодуль.ДополнительныеФункции.Модуль(3357,4)}: Процедура или функция с указанным именем не определена (ЗагрузитьНаСервереЗаказ)
<<?>>ЗагрузитьНаСервереЗаказ(ВыборкаДетальныеЗаписи.Ссылка); |
|||
8
palpetrovich
22.10.14
✎
11:06
|
а в "в клиент-серверном" на 8.2 - работает?
|
|||
9
1sik
22.10.14
✎
11:06
|
(7)
Процедура ПрочитатьФайлыСЗаказами() Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Т_НастройкиОбмена.Ссылка |ИЗ | Справочник.Т_НастройкиОбмена КАК Т_НастройкиОбмена |ГДЕ | НЕ Т_НастройкиОбмена.ПометкаУдаления"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Попытка ЗагрузитьНаСервереЗаказ(ВыборкаДетальныеЗаписи.Ссылка); Исключение КонецПопытки; КонецЦикла; КонецПроцедуры А эта процедура целиком, которае принадлежит к регламентому заданию, на строку из этой процедуры ругпется обработка. |
|||
10
Maxus43
22.10.14
✎
11:06
|
(7) галку клиент надо убирать с модуля. Модуль с регламентыми там Сервер и вызов сервера достаточно, или всю процедуру регламентого обрамляй #Если Сервер Тогда
|
|||
11
Maxus43
22.10.14
✎
11:08
|
надо рефакторинг кода делать, намешаны процедуры разного контекста.
В пофигураторе есть "проверка конфигурации", там поставить галки Сервер, Клиент (обычное приложение, вариант клиент-сервер) и другие если надо, выдаст кучу ошибок, с которыми надо разобраться |
|||
12
hhhh
22.10.14
✎
11:08
|
(7) ну давайте галочки показывайте в свойсвах этого общего модуля.
|
|||
13
1sik
22.10.14
✎
11:08
|
(10) Щас попробую.
|
|||
14
lxndr
22.10.14
✎
11:10
|
(10) наоборот поставить: Клиент (обычное приложение)
|
|||
15
1sik
22.10.14
✎
11:10
|
(12) Галка клиент там есть, но это модуль появился еще до меня, и до сего момента все работало.
|
|||
16
lxndr
22.10.14
✎
11:11
|
(15) сначала включи в сервиспараметры:
Редактирование конфигурации для режимов запуска = упр и обычн. приложения |
|||
17
1sik
22.10.14
✎
11:11
|
(14) Я уже ставил #если клиент в обработке, но она ругалась, я так понимаю надо в общем модуле поставить #если сервер, чтобы туда не проваливалось.
|
|||
18
hhhh
22.10.14
✎
11:12
|
(14) нельзя ставить галку клиент, процедура ЗагрузитьНаСервереЗаказ явно серверная, она не запустится тогда, будет ошибка как в (7)
|
|||
19
1sik
22.10.14
✎
11:13
|
(16) Если бы галка не стояла там, в обычном приложении конфигурация не запустилась бы.
|
|||
20
1sik
22.10.14
✎
11:36
|
(10) Сначала сделал #Если сервер... у меня стало ругаться уже на другую процедуру, соответственно убрал галку клиент, теперь все хорошо. Спасибо. На первый взгляд галка клиент не должна повлиять ни на что, ну а если что узнаю.
|
|||
21
Maxus43
22.10.14
✎
11:39
|
(20) надо процедуры правильно разнести по модулям с нужными галками, у тебя щас в куче и клиентские и серверные, в них обращения на другие процедуры, которых как в твоём случае на клиенте просто нет и т.д. и т.п.
|
|||
22
Maxus43
22.10.14
✎
11:40
|
в идеале после (11) у тебя не должно быть ни одной ошибки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |