обработка в файловом варианте работает а в серверном нет. Почему? #766755


#0 by werta2007
Доброго времени суток всем. Недавно перешли на бухгалтерию Бухгалтерия предприятия, редакция 3.0 (3.0.43.123). История следующая. Была на бух 2.0 внешняя обработка(я ее писала). После перехода на бух 3.0 ее встроили в конфигурацию и запускается только под толстым клиентом. Переделала обработку, но в файловом варианте, оттестировала, все ок. Поставили ее на серверную базу и тут полезли ошибки, типа: Переменная не определена (БухгалтерскийУчетПереопределяемый) Как не определена, если это общий модуль? Что не так?
#1 by Xapac
кидайте обработку
#2 by werta2007
куда? и смысл? если там еще внутренние изменения конфигурации, и тащит она данные из самописной торговой базы, к которой я не имею никакого отнощения.
#3 by werta2007
смысл обработки, вытащить данные из SQL-ой базы и разложить в соответстующие документы.
#4 by werta2007
я сразу скажу, что 8.3 только открыла, до этого писала на 8.2, и то по минимуму старалась что-то дописывать.
#5 by werta2007
Переменная не определена (БухгалтерскийУчетПереопределяемый)                         СчетаУчета = <<?>>БухгалтерскийУчетПереопределяемый.ПолучитьСчетаУчетаНоменклатуры(Организация, НовСТР.Номенклатура, Склад); еременная не определена (ОбщегоНазначенияБП) я все проверила БухгалтерскийУчетПереопределяемый  и ОбщегоНазначенияБП это общие модули, ПолучитьСчетаУчетаНоменклатуры и ЕстьТабЧастьДокумента тоже существуют в соответствующих модулях. Почему эта ошибка в серверной базе? в файловой все работает прекрасно? Что нужно чтобы избавиться от этих ошибок?
#6 by Garykom
освойте уже &НаКлиенте и &НаСервере
#7 by werta2007
да сижу разбираюсь и с этим. Вопрос: я прочитала, что по-умолчанию все происходит на сервер, если конкретная директива не указана. Следовательно эти общие модули, которые выходит ошибка выполняются на  клиенте, и следовательно и мои все функции нужно уложить на клиент? я правильно поняла?
#8 by pessok
если тыкнуть правой кнопкой на модуль и открыть палитру свойств, то там написано, откуда модуль может вызываться и где работать.
#9 by werta2007
спасибо огромное!!! кажется получается!!!
#10 by werta2007
ха! стала неактивной кнопка, по которой происходит загрузка документов. Флаги доступности не изменяла. Может ли это быть связано, что процедуру этой кнопки отправила на сервер? как поступить в данном случае?
#11 by Garykom
сделать процедуру кнопки на клиенте и из нее вызывать серверную это классика, клиент передает на сервер некие данные, сервер обрабатывает и возвращает результат на клиент надо было 1С принудительно разнести серверные и клиентские модуля код а не эти директивы, многие путаются
#12 by ДенисЧ
сделать клиентскую обработку кнопки...
#13 by Провинциальный 1сник
"надо было 1С принудительно разнести серверные и клиентские модуля код а не эти директивы, многие путаются" Эти директивы - прогиб под веб-программирование. Там тоже серверный пхп и клиентский джаваскрипт в тексте страниц вперемешку. Хотя в рамках парадигмы 1с действительно логинчее было бы разделять модули на клиентские и серверные.
#14 by werta2007
ДОБРОЕ УТРО. Да я поняла, но как же быть, если в тексте клиентской кнопки вызывается общий модуль или серверная функция или процедура?
#15 by Провинциальный 1сник
На клиенте вызывается клиентская процедура, из неё вызывается серверная.
#16 by werta2007
да. буду по чайниковски)) я проставила &НаКлиенте перед процедурой кнопки, но кнопка вызывает серверную процедуру и следовательно выдает ошибку Ошибка инициализации модуля: Обработка.ОбменСБисСК.Форма.Форма.Форма по причине: {Обработка.ОбменСБисСК.Форма.Форма.Форма(60,2)}: Процедура или функция с указанным именем не определена (ОбработатьДерево) <<?>>ОбработатьДерево ;
#17 by hhhh
ну посмотрите, может на форме нет этой процедуры?
#18 by Drac0
Ты, похоже, уже из серверной процедуры пытаешься вызвать клиентский метод. Не надо так.
#19 by John83
БухгалтерскийУчетПереопределяемый случаем не глобальная?
#20 by John83
ан нет
#21 by МимохожийОднако
Иногда помогает перенос процедур из общих модулей в свою обработку. Совет для тех, кто не хочет разбираться с нюансами.
#22 by werta2007
нет, из клиента серверную &НаКлиенте Процедура ОбработатьДерево(КоличествоДействий) ... конецпроцедуры
#23 by Garykom
внутри ОбработатьДерево что вызывается? оттуда клиента уже низзя, только сервер можно вызывать
#24 by werta2007
из ОбработатьДерево уже начинают вызываться общие модули типа  БухгалтерскийУчетПереопределяемый, поэтому я переде этой процедурой уже поставила &НаСервере.
#25 by Garykom
а "БухгалтерскийУчетПереопределяемый" это серверный код? а "Экспорт" стоит?
#26 by werta2007
еще вопрос: я запускаюсь отладчиком Толстый клиент(управляемое приложение):Начать отладку. Это толстый клиент или все-таки управляемые формы, тк. я не стала переписывать свою обработку под управляемые формы.
#27 by werta2007
БухгалтерскийУчетПереопределяемый это общий модуль конфигурации. Посмотрела, он может вызываться как с сервера, так и внешнее соединение. в процедурах используемых из него, например Функция ПолучитьСчетаРасчетовСКонтрагентом(Знач Организация, Знач Контрагент, Знач Договор) Экспорт как видим экспорт стоит
#28 by werta2007
нашла как можно запуститься в Толстый клиент(обычное приложение). Но результат тот же
#29 by Garykom
#30 by werta2007
Спасибо огромное за ссылки. Разобралась. Проблема была оказывается в режиме в котором я запускалась. подрядчик сказал в толстом клиенте, но не уточнил, что нужно в обычном приложении. Зашла в конфигуратор, установила сервис- параметры - управляемое и обычное приложение. Потом вернула обработку в первоначальное сотояние, без &НаКлиенте и &НаСервере, запустилась и УРА!!! Спасибо всем за поддержку!!! А на толкнулась я на мысль вот здесь
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С