|
Ошибка при вызове метода контекста Неизвестная функция | ☑ | ||
---|---|---|---|---|
0
espanol
28.11.22
✎
08:30
|
Всем привет!
Такая вот ошибка. Обработка внешняя, если нет заказов которые мы ищем на сервере в запросе, то вылазит такая вот ошибка: Ошибка при вызове метода контекста (ПроверкаЗаказовДляСборкиНаСервере): Неизвестная функция. Функция "ПроверкаЗаказовДляСборкиНаСервере" &НаКлиенте Функция ПроверкаЗаказовДляСборки() ПОПЫТКА Если ФормаПроверкиЗаказовДляСборкиОткрыта = Ложь Тогда ЕстьЗаказы = ПроверкаЗаказовДляСборкиНаСервере(Объект.Магазин); Если ЕстьЗаказы = Истина Тогда ФормаПроверкиЗаказовДляСборкиОткрыта = Истина; ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("Магазин", Объект.Магазин); ОбработчикОповещения = Новый ОписаниеОповещения("ОповещениеОткрытьФормуФормаСбораЗаказов", ЭтотОбъект); Режим = РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс; ОткрытьФорму(ПолноеИмяОбъекта + ".Форма.ФормаСбораЗаказов", ПараметрыФормы, УникальныйИдентификатор,,,, ОбработчикОповещения, Режим); КонецЕсли; КонецЕсли; ИСКЛЮЧЕНИЕ Сообщить(ОписаниеОшибки()); КОНЕЦПОПЫТКИ; КонецФункции &НаСервереБезКонтекста Функция ПроверкаЗаказовДляСборкиНаСервере(МагазинРМК) УстановитьПривилегированныйРежим(Истина); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВложенныйЗапрос.ДокументОснование КАК ДокументОснование, | ВЫБОР | КОГДА ВложенныйЗапрос.Закрыт ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Закрыт |ПОМЕСТИТЬ ОстаткиПоЗаказам |ИЗ | (ВЫБРАТЬ | _ЗаказыКлиентовОстатки.ДокументОснование КАК ДокументОснование, | ЛОЖЬ КАК Закрыт | ИЗ | РегистрНакопления._ЗаказыКлиентов.Остатки КАК _ЗаказыКлиентовОстатки | ГДЕ | _ЗаказыКлиентовОстатки.Магазин = &Магазин | И _ЗаказыКлиентовОстатки.ДокументОснование.ВыводитьВСборку = ИСТИНА | | СГРУППИРОВАТЬ ПО | _ЗаказыКлиентовОстатки.ДокументОснование) КАК ВложенныйЗапрос | |ИНДЕКСИРОВАТЬ ПО | ДокументОснование |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | РезультатСборки.ЗаказКлиента КАК ЗаказКлиента, | РезультатСборки.ЗаказОтправленВИМНаСборку КАК ЗаказОтправленВИМНаСборку, | РезультатСборки.ТипСборки КАК ТипСборки |ПОМЕСТИТЬ РезультатСборки |ИЗ | РегистрСведений.РезультатСборки КАК РезультатСборки |ГДЕ | РезультатСборки.ЗаказКлиента.Магазин = &Магазин | И РезультатСборки.ЗаказКлиента.ВыводитьВСборку = ИСТИНА | |ИНДЕКСИРОВАТЬ ПО | ЗаказКлиента |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | _ЗаказКлиента.Ссылка КАК Ссылка, | ВЫБОР | КОГДА ОстаткиПоЗаказам.Закрыт ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Поле1 |ПОМЕСТИТЬ ЗаказыДляСбора |ИЗ | Документ._ЗаказКлиента КАК _ЗаказКлиента | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений._СтатусыДокументов.СрезПоследних КАК _СтатусыДокументовСрезПоследних | ПО _ЗаказКлиента.Ссылка = _СтатусыДокументовСрезПоследних.Документ | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиПоЗаказам КАК ОстаткиПоЗаказам | ПО _ЗаказКлиента.Ссылка = ОстаткиПоЗаказам.ДокументОснование |ГДЕ | _ЗаказКлиента.Проведен | И _ЗаказКлиента.Магазин = &Магазин | И _СтатусыДокументовСрезПоследних.Статус В (ЗНАЧЕНИЕ(Перечисление._СтатусыДокументов.ОжидаетСамовывоза), ЗНАЧЕНИЕ(Перечисление._СтатусыДокументов.ОжидаетКомплектацию)) | И ОстаткиПоЗаказам.Закрыт = ЛОЖЬ | И _ЗаказКлиента.Источник = ЗНАЧЕНИЕ(Перечисление._ИсточникЗаказа.Сайт) | И _ЗаказКлиента.ВыводитьВСборку = ИСТИНА | |СГРУППИРОВАТЬ ПО | _ЗаказКлиента.Ссылка, | ВЫБОР | КОГДА ОстаткиПоЗаказам.Закрыт ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ | |ИНДЕКСИРОВАТЬ ПО | Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ЗаказыДляСбора.Ссылка КАК ЗаказКлиента, | РезультатСборки.ТипСборки КАК ТипСборки |ИЗ | ЗаказыДляСбора КАК ЗаказыДляСбора | ЛЕВОЕ СОЕДИНЕНИЕ РезультатСборки КАК РезультатСборки | ПО ЗаказыДляСбора.Ссылка = РезультатСборки.ЗаказКлиента |ГДЕ | ЕСТЬNULL(РезультатСборки.ЗаказОтправленВИМНаСборку, ЛОЖЬ) = ЛОЖЬ | И ЗаказыДляСбора.Ссылка.Дата >= &Дата"; Запрос.УстановитьПараметр("Магазин", МагазинРМК); Запрос.УстановитьПараметр("Дата", Дата(2022,06,01)); Результат = Запрос.Выполнить().Выгрузить(); Возврат ?(Результат.Количество() = 0, Ложь, Истина); УстановитьПривилегированныйРежим(Ложь); КонецФункции В чем может быть причина? |
|||
1
Ryzeman
28.11.22
✎
08:36
|
Ты бы лучше полный текст ошибки скинул, и кусок модуля на который ругается платформа где ты её вызываешь. Запускаешь в УФ?
|
|||
2
espanol
28.11.22
✎
08:37
|
(1) Собственно говоря это и выложил, все выше )
|
|||
3
Галахад
гуру
28.11.22
✎
08:39
|
Не кэш случайно?
|
|||
4
Ryzeman
28.11.22
✎
08:41
|
(2) Нет. Подробный текст ошибки с названиями модулей и где не может найти. Типа того
Ошибка инициализации модуля: ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма по причине: {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(8,14)}: Процедура или функция с указанным именем не определена (МояКласснаяФункция) Результат = <<?>>МояКласснаяФункция(); Хотя если бы косяк в директивах был, тебе и записать не дало бы... Наверное (3) прав. |
|||
5
espanol
28.11.22
✎
08:41
|
У меня повторить ошибку не получается, она есть только у пользователей, ито не у всех.
Конечно же это УФ. В своей тестовой базе разворачивал, тестировал под этими пользователя, ошибки нет, платформа 1С:Предприятие 8.3 (8.3.18.1741). (3) Думаю нет, больше похоже на глюк платформы... |
|||
6
Ryzeman
28.11.22
✎
08:43
|
(5) Обработка - встраиваемая? На ней есть элементы пользовательских настроек?
|
|||
7
espanol
28.11.22
✎
08:45
|
(6) Обработка внешняя, находится в справочнике ДополнительныеОтчетыИОбработки. Ну это собственно говоря РМК Розница. Очень много реквизитов формы.
|
|||
8
Ryzeman
28.11.22
✎
08:47
|
(7) Ну, чистить кэши и пользовательские настройки тогда) Есть способ простой, но не очень красивые- измени идентификатор и переименуй обработку. Для клиентов она будет якобы новой и всё заново загрузится и обновится как надо
|
|||
9
espanol
28.11.22
✎
08:51
|
(8) да, идентификатор можно поменять, у пользователей ничего страшного не произойдет? )
|
|||
10
Мимохожий Однако
28.11.22
✎
08:52
|
У функции должен быть Возврат
|
|||
11
Ryzeman
28.11.22
✎
08:52
|
(9) слетят все настройки что они делали, сортировки списков, история заполнения и т.п.
|
|||
12
Ryzeman
28.11.22
✎
08:52
|
(10) У него он есть)
>> Возврат ?(Результат.Количество() = 0, Ложь, Истина); |
|||
13
espanol
28.11.22
✎
09:16
|
Либо можно серверную функцию вынести в общий модуль... хотя другие аналогичные функции работаю без проблем...
|
|||
14
Kassern
28.11.22
✎
09:21
|
(12) А ничего, что УстановитьПривилегированныйРежим(Ложь); указан после возврата? Или он автоматом закрывается, после того как из функции уходит?
|
|||
15
espanol
28.11.22
✎
09:23
|
(14) делал для теста и до возврата и после )
|
|||
16
Kassern
28.11.22
✎
09:24
|
(15) Кэш чистили у пользователей, под которыми ошибка возникает?
|
|||
17
Ryzeman
28.11.22
✎
09:26
|
(14) На самом деле ничего, потому что
>>он автоматом закрывается, после того как из функции уходит но я люблю закрывать, что б не думалось))) |
|||
18
Kassern
28.11.22
✎
09:35
|
И еще вопросик по поводу привилегированного режима - он же вроде не работает во внешних обработках, если мне память не изменяет?
|
|||
19
НЕА123
28.11.22
✎
09:39
|
(18)+1
и зачем привилегированный режим? вроде везде разрешенные. |
|||
20
espanol
28.11.22
✎
09:42
|
(18) (19) просто тестил, а что?
|
|||
21
НЕА123
28.11.22
✎
10:51
|
(20)
попытку исключение на сервере тоже надо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |