Имя: Пароль:
1C
1С v8
НаСервере при толстом клиенте
0 igel1969
 
14.02.25
08:58
Здравствуйте.
1С 8.3.
Есть внешняя обработка, которая запускается из ТОЛСТОГО клиента, формы не управляемые, а обычные.

Если я напишу функцию, перед которой поставлю директиву &НаСервере, то она будет выполняться на сервере или это работает только на управляемых формах?

Просто неохота все данные гнать по сети, а потом фильтровать. Можно настроить фильтр в запросе, но сложно, там запутанный фильтр. Переписывать всю обработку под управляемые формы лень, задача того не стоит. Хочется на сервере получить все данные, отфильтровать нужные в соотвтетсвии с пожеланиями пользователя (их, пожелания, передать в параметрах функции) и вернуть только маленький результат.
1 igel1969
 
14.02.25
09:00
Когда гуглю, все примеры выходят для управляемых форм, поэтому возникло сомнение, будет ли работать на обычных
2 igel1969
 
14.02.25
09:01
например
3 Fedor-1971
 
14.02.25
09:03
(1) Будет. Можешь проверить замером производительности, там есть картинки где выполняется код
4 SilentMan
 
14.02.25
09:03
Единственный вариант в обычном приложении сходить на сервер - вызвать серверный общий модуль. В формах все работает на стороне клиента.
5 igel1969
 
14.02.25
09:07
(4) А общий модуль можно сделать только в конфигурации, в которую можно лезть только ночью. А я жаворонок ((((((((((
6 igel1969
 
14.02.25
09:08
(3) а вот у (4) другое мнение (((((((((
7 maxab72
 
14.02.25
09:08
(0) Обычные формы на все директивы плюют. Поэтому, если хочешь не тащить сырые данные на клиент, используй обращение к процедурам и функциям чисто серверного модуля, лучше привилегированного.
8 igel1969
 
14.02.25
09:11
(7) спасибо, видимо так и придется. Значит пользователь увидит новую версию на день позже, так как в конфигурацию можно лезть только после 22 часов.
9 Мультук
 
гуру
14.02.25
09:15
(3)

Ради любопытства

Толстый клиент, обычные формы

Пишу код в форме обработки


//&НаКлиенте
Процедура КнопкаВыполнитьНажатие(Кнопка)
	Приветмир();
КонецПроцедуры


&НаСервере
Процедура Приветмир()

	а =1 ;
КонецПроцедуры	


Проверяю синтаксис - всё ок.
При запуске в "Толстый клиент, обычные формы" получаю ошибку

{ВнешняяОбработка.ВнешняяОбработка3.Форма.Форма.Форма(4,2)}: Процедура или функция с указанным именем не определена (Приветмир)
    <<?>>Приветмир();

Я что-то делаю не так ?
10 Fedor-1971
 
14.02.25
09:16
(6) Так проверил замером или нет?
11 Fedor-1971
 
14.02.25
09:20
(9) на сколько помню, отрабатывало в формах документа. Сейчас под руками нет конфигурации на ОФ
12 rozer76
 
14.02.25
09:20
(9) а если убрать НаСервере? )
13 Eiffil123
 
14.02.25
09:23
(2) еще как вариант - посмотреть что на диске С лежит. Тогда будет ясно, сервер или клиент.
14 Fedor-1971
 
14.02.25
09:25
12+ а НаСервереБезКонтекста прокатит?
15 igel1969
 
14.02.25
09:25
(10) пока нет, чуть попозже
16 maxab72
 
14.02.25
09:25
(9) а совместимость по интерфейсам какая стоит?
17 igel1969
 
14.02.25
09:31
(13) забыл написать - 1С на SQL
18 Timon1405
 
14.02.25
09:37
(4) прав. проверить где выполняется можно и без замера написав внутри функции
#Если Клиент Тогда
сообщить("Клиент")
#КонецЕсли
19 Мультук
 
гуру
14.02.25
09:34
(16)

Режим совместимости по интерфейсам:  Версия 8.2
Режим совместимости: Версия 8.2.16

(12) Если убрать "&НаСервере", то будет "&НаТолстомКлиенте"
А автор хочет совсем другого

P.S.
Я думал, может действительно кроме модуля с флажком "Сервер",
есть какие-то другие пути.

Наивный.
20 Eiffil123
 
14.02.25
09:38
(17) другого варианта с сервером и быть не может
21 Волшебник
 
14.02.25
09:39
(19) других нет. Причём у общего модуля ещё должен стоять флаг "Вызов сервера"
22 Волшебник
 
14.02.25
09:45
хотя можно ещё использовать фоновые задания, они всегда на сервере
23 igel1969
 
14.02.25
09:59
(9) у меня то же самое, когда все вынес в отдельную функцию. Придется ночью выносить в отдельный модуль.
24 lEvGl
 
гуру
14.02.25
10:11
(20) почему это
в файловом варианте сторону сервера выполняет тот же комп просто
25 lEvGl
 
гуру
14.02.25
10:12
(19) да ну не
в ОФ это дерективы видимости, а в УФ указатели, где выполнять, ну грубо если
26 Eiffil123
 
14.02.25
10:15
(24) ну т.е. в файловом варианте изначальная задача "не гонять данные по сети" уже не реализуема.

а то что при таком варианте функции сервера выполняет клиент - это для разработчика прикладного решения практически ни на что не влияет.
27 lEvGl
 
гуру
14.02.25
10:39
(26) как же как же - а гонять данные по шинам все равное придется, вероятно при обращении к локалхост данные все равно через сетевой интерфейс идут
хотя.. локал хоста тут нет никакого, но передача данных все равно будет, пусть в рамках памяти
28 X Leshiy
 
14.02.25
10:25
(0) Скажи админам поставить сетевуху на 10 гигабит и забей)
29 igel1969
 
14.02.25
13:56
(28) не получится. Раньше склад был в одной сети с офисом и все летало. Потом их разделил полКазани, а связь по ВПН. Хорошо хоть интернет кабельный на обоих точках.
Другие компы на складе работают в RDP и горя не знают. Но комп завсклада должен очень много печатать, а печать по RDP нестабильна, из-за разных идиотских причин может вылететь. А на складе технически грамотных сотрудников нет. И RDP-сервер из-за одного компьютера тоже перезагружать не резон, на нем много других пользователей работает. Поэтому от компьютера завсклада до сервера проложен VPN и он как бы работает в одной с ним, но очень медленной сети, 50Мбит максимум, а на самом деле и того меньше.
30 Ёпрст
 
14.02.25
14:04
(29) подыми вэбсервер, пусть ходят через вэб морду тока на определенные доки.
31 igel1969
 
14.02.25
14:08
(30) во-первых они и так ходят только на определенные доки и выполняют определенные строго регламентированные функции. Завсклад не видит полного интерфейса, а работает в моей обработке, в которой кнопки "для тупых", чтобы ничего лишнего не сделал. А во-вторых мне проще переписать эту обработку под управляемые формы. Просто 10 лет все работало, всех все устраивало, лень что-то менять. Но если припрет - перепишу.
32 igel1969
 
14.02.25
14:08
(30) я просто хотел на халяву, быстренько поставить &НаСервере и все решить
33 igel1969
 
14.02.25
14:10
и вообще тут вопрос не принципиальный. если ничего не менять, то ждать обновления списка приходится около секунды, это раздражает, но не критично.
34 Ёпрст
 
14.02.25
14:13
(31) ну..так это и предлагается.
35 rozer76
 
14.02.25
21:28
(19) ну там смайлик был же. ТС упрямо думает что &НаСервере работает и в древних обычных формах. Вроде логично даже что нет. Верный ответ уже в (7) был.
36 Волшебник
 
14.02.25
21:42
Учите обычные формы.
37 Волшебник
 
14.02.25
21:46
Управляемые формы — это тупиковый путь развития. Конфигуратор до сих пор на обычных формах.
Так называемые "Управляемые формы" были придуманы чисто для доступа через веб-браузер, но RDP позволяет запускать обычные формы. И не надо ходить на рынок, покупать гуся, отрубать ему голову...
38 Волшебник
 
14.02.25
21:48
Много новичков утянули в "управляемые формы". Они даже не знают про "обычные формы" и толстый клиент.
39 Волшебник
 
14.02.25
21:49
Жертвы типовых и расширений. Жертвы СКД... Печалька...
40 Волшебник
 
14.02.25
21:50
ОБЫЧНЫЕ ФОРМЫ и ТОЛСТЫЙ КЛИЕНТ — это сила!
41 Волшебник
 
14.02.25
21:51
Скорость максимальная! Круто работают! ОБЫЧНЫЕ ФОРМЫ — живите вечно!
42 maxab72
 
14.02.25
23:08
Бухши не любят толстый клиент, они считают, что 1с на что-то намекает...
43 Волшебник
 
14.02.25
23:16
(42) они привыкают ко всему
44 lEvGl
 
гуру
15.02.25
09:51
(42) мне сказали, что он обзывается
это килограмм 90 сказали
45 Волшебник
 
15.02.25
14:34
(44) Это комплексы. Поставьте им "Комплексную конфигурацию"
46 lEvGl
 
гуру
16.02.25
07:09
:D:D
это было в самопиське
2 + 2 = 3.9999999999999999999999999999999...