Имя: Пароль:
1C
 
Передача с клиента на сервер
, ,
0 iznvi
 
08.10.18
10:16
Ребят,задача стоит допустим просто передать массив с клиента на сервер. Создаю функцию,создаю там массив,добавляю в него значение и передаю название функции на сервер,а 1с говорит,что такой функции нет.В чем проблема?
1 FIXXXL
 
08.10.18
10:18
(0) клиент "видит" сервер
сервер НЕ "видит" клиента
2 RomanYS
 
08.10.18
10:19
где находится созданная функция?
3 iznvi
 
08.10.18
10:19
(2) На форме,в модуле
4 iznvi
 
08.10.18
10:20
(1) А как тогда передать значения ?
5 unregistered
 
08.10.18
10:20
(0)  > передаю название функции на сервер

Как это понимать? Что это означает? Приведи пример кода, чтобы было понятно - что и где ты создаешь и кого откуда вызываешь.
6 unregistered
 
08.10.18
10:21
(3) > На форме,в модуле

Вопрос не об этом. Вопрос о том на клиенте или на сервере функция.
7 iznvi
 
08.10.18
10:22
(6) На клиенте
8 iznvi
 
08.10.18
10:22
Функция ПередачаМассива()
    
    Массив = Новый Массив;
    Массив.Добавить("ПередаюМассив");
    Для Каждого ЭлементМассива из Массив Цикл
        
        Сообщить(ЭлементМассива);
        
        
    КонецЦикла;
    
//    Файл = Новый ДвоичныеДанные(Массив);
//ФайлВХранилище = Новый ХранилищеЗначения(Файл);
//ПроцедурыДляРаботыНаСервере.ЗаписатьФайлНаСервере(ФайлВХранилище);
    
    //Адрес = ПоместитьВоВременноеХранилище(Массив);
    
КонецФункции



&НаСервере
Процедура СКлиентаНаСервере(Команда,Адрес,ТаблицаЗначений)
    
     Если Выберите = "Массив" Тогда
        ПередачаМассива();    
        
    
КонецЕсли;    
КонецПроцедуры
9 iznvi
 
08.10.18
10:23
(6) Опубликовал пример кода
10 Провинциальный 1сник
 
08.10.18
10:23
(8) Сервер не может вызывать клиента
11 Скиурус
 
08.10.18
10:24
Меняй логику, сервер не должен заставлять что-то делать клиента, он же сервер.
12 unregistered
 
08.10.18
10:25
(8) В (0) написано "задача стоит ... передать массив с клиента на сервер". А в (8) ты пытаешься сделать обратное - вызвать с сервера клиентскую функцию. А так делать нельзя.
13 FIXXXL
 
08.10.18
10:25
(4)
создал массив на клиенте, вызвал СервернаяФункция(СозданныйМассив)
14 Мимохожий Однако
 
08.10.18
10:33
(8) Синтаксическую проверку твой код проходит?
"Сумлеваюсь я "©Дед Щукарь
15 iznvi
 
08.10.18
10:53
(13)  Так наоборот надо же

Создать на Клиенте и передать на Сервер
16 FIXXXL
 
08.10.18
11:04
(15) ну а я тебе что написал?
на клиенте вызываешь серверную функцию, параметром передаешь свой массив
17 Cyberhawk
 
08.10.18
11:15
(12) Где ты увидел вызов клиентской функции?
18 hhhh
 
08.10.18
11:18
(17) &НаСервере
Процедура СКлиентаНаСервере(Команда,Адрес,ТаблицаЗначений)
    
     Если Выберите = "Массив" Тогда
        ПередачаМассива();    
        
    
КонецЕсли;    
КонецПроцедуры
19 Cyberhawk
 
08.10.18
11:20
(18) Что-то ты просто скопировал тот же самый код, что приведен выше. Как это отвечает на мой вопрос, не ясно.
20 Остап Сулейманович
 
08.10.18
11:24
Стесняюсь спросить - а кто какие видит варианты значения у "Выберите"? В коде из (18)
21 Cyberhawk
 
08.10.18
11:26
(20) Переменная модуля формы или реквизит формы, например
22 hhhh
 
08.10.18
11:28
(19) ты же спросил, где вызов клиентской функции. Ответ:

ПередачаМассива();

клиентская функция, вызывается ТС с сервера. А как еще ответить на твой вопрос?
23 Cyberhawk
 
08.10.18
11:28
(22) Кто сказал, что это клиентская функция?
24 hhhh
 
08.10.18
11:31
(23) тс сказал, в (7)
25 Cyberhawk
 
08.10.18
11:36
(24) Он заблуждается
26 hhhh
 
08.10.18
11:38
(25) может быть
27 Остап Сулейманович
 
08.10.18
11:39
(25) А если он просто директиву не скопировал?
28 Cyberhawk
 
08.10.18
11:41
(27) Все возможно. Именно поэтому Я и спрашиваю в (17), а не утверждаю
2 + 2 = 3.9999999999999999999999999999999...