#0
by Наташа
Стоит задача оптимизировать расчеты в базе 1С 8.0 с помощью клиент-серверной технологии. Установили сервер 8.0. При конструкции Если Клиент Тогда КонецЕсли все работает, программа выполяет заключенные внутри конструкции процедуры. Все что внутри Если Сервер Тогда КонецЕсли не выполняется. Как можно вынести скажем процедуру которая что-то считает на сервер и ее результат увидеть на клиенте?
#2
by Наташа
Пока я только упражняюсь :) К примере в модуле приложения объявляю переменную Н экспортной. В общем модуле пишу #Если Сервер Тогда КонецПроцедуры Потом в модуле документа вставляю кнопку к которой привязана процедура В итоге при нажатии на кнопку в этом документе вижу Н= и все. А не Н=4 Хотелось бы принцип понять, как можно пользоваться конструкцией Если Сервер Тогда КонецЕсли
#4
by Наташа
Сделала. В модуле приложения пишу #Если Сервер Тогда #КонецЕсли Теперь при попытке открыть документ с кнопкой или создать новый выдается ошибка {Документ.ОприходованиеТоваров.Форма.ФормаДокумента(659,18)}: Переменная не определена (Н) Сообщить("Н="+<<?>>Н);
#5
by Волшебник
Ты хочешь на клиенте использовать переменную, которая физически существует на сервере?
#6
by Наташа
А что надо делать если я хочу что-то рассчитать на сервере а результат увидеть на клиенте? К сожелению не нашла на диске ИТС ни одного примера использования конструкции Если Сервер Тогда КонецЕсли. Только Если Клиент Тогда КонецЕсли видела.
#7
by ¶
Обращаю внимание: "Если блок #Если Сервер тогда ... #КонецЕсли включает только часть процедуры, то процедура будет присутствовать как на стороне клиента, так и на стороне сервера. Только на клиенстской стороне она будет без той части, которая заключена в блок, поэтому результат выполнения процедуры может зависеть от того, где обрабатывается вызов этой процедуры". (Описание встроенного языка, т.1, с.1-40). Поэтому для гарантии хорошо бы заключить в блок условной компиляции ВСЮ процедуру.
#8
by Волшебник
Нужно оформить всю процедуру/функцию в директивы #Если Сервер Тогда и вызывать ее на клиенте. Вызов будет переадресован на сервер. У общих модулей есть еще флаг-свойство "Сервер". При его установке модуль будет присутствовать на сервере 1С:Предприятия 8.0.
#9
by Наташа
(Описание встроенного языка, т.1, с.1-40). Читала. Включала всю процедуру т е писала в общем модуле #Если Сервер Тогда #КонецЕсли При этом при попытке открыть документ с кнопкой или создать новый получаю сразу 2 ошибки {Документ.ОприходованиеТоваров.Форма.ФормаДокумента(659,18)}: Переменная не определена (Н) Сообщить("Н="+<<?>>Н); {Документ.ОприходованиеТоваров.Форма.ФормаДокумента(658,3)}: Процедура или функция с указанным именем не определена (Сообщение) <<?>>Сообщение; Я понимаю что это из-за того что нахожусь на клиентской стороне. Вопрос в том как можно что-то сделать на серверной стороне и воспользоваться результатами?
#10
by ¶
Вначале не заметил. "...в модуле приложения объявляю переменную Н экспортной". Но общий модуль не видит экспорта из модуля приложения. В выражении Н = 2*2 процедуры общего модуля переменная Н создается неявно как локальная переменная процедуры. Тут как ни крути - в таком варианте работать не будет. Передай переменную через параметр.
#12
by Волшебник
Расположи процедуру или функцию в общем модуле и поставь у него флаг "Сервер". Флаг "Клиент" можно снять.
#15
by ¶
А вторая ошибка, сдается мне, из-за того, что обращение к процедуре, компилируемой на сервере, происходит из модуля формы. Попробуй из модуля документа (впрочем, не уверен).
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Новая технология поиска для Яндекса
- Может кто уже решал, Технология рисования и хранения рисунков в 7.7?
- Технология КД 1.0 как перенести нескольких строк в одну?
- Технология КД 1.0 как перенести нескольких строк в одну?
- Клиент-Сервер
- Технология внедрения УПП
- Технология коллекционирования/разработки новых функций
- Жуткие тормоза при записи в жернал регистрации v8.1.10 клиент-сервер
- Технология работы с клиентами в 1С УТ 10.3
- v8: Клиент-сервер на одной машине
- 8.2 технология написания отчётов.
- Открытие ИБ (клиент-сервер) из-под Linux (Wine)
В этой группе 1С
- OFF: Guk-у о своих, и о генетически обусловленном процессе деления.
- Нужна документация по установке SQL Server 2K и настройке для 1С
- Каким образом прописан заголовок в модуле формы элемента Партия?
- Здорово!!!
- Помогите разобраться с запросом
- Журнал подчинённых документов
- OFF: В последнее врямя каждый пост с просьбой не пинать ногами....
- Добавление строки табличной части с значениями по умолчанию
- УСН: расходы в Книге доходов и расходов
- Как установить отбор по значению в обычном журнале?
- ТиС, ЗиК, Бухгалтерия - это всё разные конфиги или разные платформы?
- Ввод данных из документа в обработку и наобород
- BorisG, теперь ты прав...;(
- Процедуры для работы с локальной сетю.
- Путин подписал закон, запрещающий электронные библиотеки
- СоцСТРАХ и ужас. :) Комплексн7.7.10Укр. Нужно, 1% если З/П>386,73. Бьёт 0,5
- Вопрос по налоговому учету
- О законности эмуляторов
- Глупый вопрос
- Вызов внешнего приложения и получение результата