#0
by cube033
Сказывается недостаток знаний. Текущие условия: 8.1 УПП, SQL, РИБ. Людей работает много, выгнать пользователей лишний раз нельзя, поэтому принято решение все действия выполнять во внешних обработках, а из модуля производить только вызов внешних обработок. Суть проблемы: Развернул у себя файловую версию данной базы, реализовал все механизмы - все работает. Перенес механизмы на базу клиента с сервером 1С и понеслось... {ОбщийМодуль.АТП_ПодпискаНаСобытие(7,21)}: Переменная не определена (ВнешниеОбработки) ВнешняяОбработка = <<?>>ВнешниеОбработки.Создать(ПолучитьПуть); {ОбщийМодуль.АТП_ПодпискаНаСобытие(67,21)}: Переменная не определена (ВнешниеОбработки) ВнешняяОбработка = <<?>>ВнешниеОбработки.Создать(ПолучитьПуть); {ОбщийМодуль.АТП_ПодпискаНаСобытие(48,6)}: Процедура или функция с указанным именем не определена (Предупреждение) И ладно у внешних обработок правда есть ограничения "Недоступно на сервере 1С:Предприятие", но "Предупреждение" то тут причем??? Помогите пожалуйста понять в чем суть ограничений. В свойствах модуля, из которого идет вызов внешних обработок, стоят все три галки "Клиент","Сервер","Внешние соединение", но при этих же настройках в моём файловом варианте все работало. Из модуля формы "ФормаЭлемента" номенклатуры подобный вызов внешних обработок проходит успешно.
#2
by cube033
Тоже верно Только вот я вообще не хочу, чтобы процедура выполнялась НаСервере, в этом я и хочу разобраться.
#7
by cube033
Проблема возникает при проведении, поэтому к тому времени как запуститься процедура из моего модуля, уже столько всего происходит, что я путаюсь в клиентах и серверах
#10
by cube033
Как я понимаю проблема происходит из-за того, что вызов процедуры происходит НаСервере. - Будет ли процедура вообще запускаться НаСервере без этой галочки? Условия таковы, что тестировать я могу с 0:00 до 8:00, поэтому - хорошо бы разобраться в причинах проблемы до тестов.
#13
by cube033
- это я и хочу понять, как я уже писал - Тогда мы вероятно избежим ошибки, но запуск внешней обработки тоже не произойдет.
#14
by cube033
Как я понимаю, логика распределения между клиентом и сервером аналогична управляемым формам. И если речь о подписке на событие "При записи", то в клиент-серверном варианте процедура всегда будет выполняться на сервере? И это никак не изменить, нужно подстраиваться? Из процедуры НаСервере конечно нельзя вызвать процедуру НаКлиенте? И если на управляемых формах все определяется явно (#НаКлиенте,#НаСервере), то как с этим работать в 8.1 вообще не понятно.
#16
by Шапокляк
Не уверена, полагаю, что при интерактивной работе пользователя ветка на Клиенте сработает, а если какие регламентные задания то фиг знает. Понятно, что ВнешниеОбработки. не доступны на Сервере, потому программа и ругается - ей же не объяснишь, что вы напихали в модуль с галками и Клиент и Сервер такие процедуры, которые, возможно, и не будут на сервере никогда выполняться. Конечно, если нельзя, но очень хочется, то можно. Например, в порядке эксперимента засуньте в справочник внешних обработок свои обработки, после чего раскручивайте их во временный экземпляр обработки средствами конфигурации. Возможно, прокатит, хотя скорость... да и гемор по обеспечению существования этих внешних нашлепок во всех узлах РИБ вас не воодушевит.
#17
by cube033
- спасибо. Уже не воодушевляет, но пока не вижу других способов, точнее уже никаких способов. В этой обработке Очень много кода... Не знаю, что придумать. Про справочник интересно, но выглядит, как еще один костыль к не очень здоровой системе. Задумка - то изначально не сложная - нужно просто отправлять на сайт изменения количества товара.
#18
by Шапокляк
Жуткая идея. Почему не запускать регламентное задание с какой-то периодичностью? А вот представьте, как у вас будет групповое перепроведение выглядеть с вашей подпиской! Месяца за 3 документы перепровести, так уже и на пенсию пора.
#19
by cube033
А регламентные задания предположительно удасться подружить с внешними обработками на клиент-серверном варианте?
#20
by Шапокляк
Да при таком подходе тоже не особо. Есть надежда, что, отладив выгрузку остатков на сайт, вы сможете в конфу обработку запихать. Мои соображения в касались, в основном, целесообразности передачи на сайт остатков после проведения каждого документа.
#21
by cube033
Кроме обменов и массовых перепроведений - подписка выигрывает, тем, что номенклатуры очень много. Так как если при подписке нужно обновить сведения о 1-20 товаров, то при регламентном задании инфу надо обновлять о всей номенклатуре. Хотя как вариант - брать записи регистра за последний день (период от подписки до подписки)
#22
by cube033
Мне бы как-то вызвать процедурку из внешней обработки не НаСервере. Я уже обдумываю из формы документов, которые делают движения по искомому регистру вызывать - они то наверняка НаКлиенте. На кнопку "ОК" повесить. Но это громадный костыль... в 8.2 еще есть способ вроде - поместить обработку в хранилище и это хранилище подключить. В 8.1 нет ничего подобного?
#24
by Шапокляк
Я предлагала выполнять подписку в ветке Если Клиент, тогда и костыли не нужны. Но при этом какие-нибудь регламентные перепроведения на сервере не делают того, что вам нужно (кстати если тупо перепроведение проведенных, то и на остатки не влияет, может оно вам и не надо в т аком случае-то). Было также предложение запихать обработку в справочник внешних обработок и оттуда уже через хранилище вытаскивать. Это быстродействие. Третий вариант - отладить обработку и запихать ее в конфу, после чего обращаться к ней в подписке, т.е. не ВнешниеОбработки.Тратата, а просто Обработки.Траляля - ограничения на сервер там нет вроде бы.
#25
by cube033
1. "Я предлагала выполнять подписку в ветке Если Клиент, тогда и костыли не нужны.","если тупо перепроведение проведенных". Кроме перепроведения существует и проведение, именно оно мне и нужно, именно оно делает запись в регистре, на которую реагирует подписка и оно наверняка проходит на сервере. Кстати да - проведение/перепроведение вообще не причем, важны только записи регистра "Товары на складах", а такие изменения (мне кажется) всегда будут на сервере, и различными конструкциями (Если клиент) мы можем только пропустить код, который нам нужен. 2. "запихать обработку в справочник внешних обработок". В 8.1 нет конструкции "ПодключитьВнешнююОбработку", насколько мне известно - типовые конфы 8.1, сначала сохраняют обработку из такого справочника во временный файл, а потом снова используют ВнешниеОбработки.Создать, которые не работают на сервере. 3. " отладить обработку и запихать ее в конфу" - это крайний вариант, но я уже к нему склоняюсь. Проблем тут несколько: а)Работать приходиться одновременно с клиентом и изготовителем сайтов - идеи у них появляются и меняются, поэтому конечная версия будет не скоро, а клиент уже хочет работать в текущей версии. б)База не очень надежна, в ней есть ссылки на несуществующие объекты, она переписана другим франчайзи, изредка приходится делать динамическое обновление конфигурации, так я очень переживаю в такие моменты. Не хотелось бы постоянно обновлять конфу, клиент не очень идет на контакт, и если кто-то начал работать пока я пишу - это сугубо моя проблема, просить выйти из базы никого нельзя. Если людям будут писать, что текущая конфа отличается от сохраненной - это мой косяк, так, что динамических обновлений не избежать. в) Как я уже писал - работать можно с 00:00 до 8:30 - пока пользователей и бэкап юзеров-ботов нет в базе и можно почти спокойно обновить конфу. Можно конечно сделать себе копию на сервере клиента, а по утрам накатывать все изменения разом, наверное так и сделаю.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Глобальная переменная
- Запрос, Строковая переменная запроса.
- Переменная не определена
- Конвертация данных - ПКО - ПослеЗагрузки - переменная ПараметрыОбъекта
- Ошибка Переменная не определена (РежимДиалогаВопрос)
- После переноса на SQL не определена переменная Рабочая Дата
- СКД. Переменная данных Номенклатура.ЭтоГруппа
- Переменная на сервере и на клиенте?
- УФ. Переменная на сервере.
- v8: при загрузке в приемник ругается что переменная не определена
- Переменная не определена (ЭтотОбъект)
- УФ. Переменная не определена (ЭтотОбъект)... Да как так-то?
В этой группе 1С
- v7: Чем опасно ТиИ ?
- Сводные расчетные листки за произвольный период
- Frontol + УТ11
- ввод по строке. убрать с выбора удаленные элементы.
- Ответственные лица организации, БП 2.0
- КД: Напомните, как загружать контрагентов раньше договоров
- в СКД отключить суммирование по номенклатуре
- v7: ЗИК начисление за первую половину месяца
- УНФ, "деньги на складах"
- УПП 1.3 Розница 2.0 Обмен
- ЗУП с удержание не расчитывается НДФЛ как исправить?
- Постоянно зависает FreeNas
- Розница 2.0 - печать товарного чека до записи документа чека
- Delphi. Двухмерный массив разных типов данных.
- Конвертация контактных данных в регистр сведений
- УТ11 продавали в минус
- Ограничения (RLS) на просмотр базы только после указанной даты, как?
- Поле отбора СКД вывести в отдельное поле формы
- Сложить две таблицы значений
- Тип AnyType в Веб-сервисах и массив