|
Почему не находит функцию? | ☑ | ||
---|---|---|---|---|
0
Rizhij_Nikitos
14.09.11
✎
11:10
|
Почему не находит функцию, хотя она определена?
&НаКлиенте Функция ПроверкаПокупателя() ТекстВопроса = НСтр("ru = 'В документе есть скидки на товары, вы уверены, что поле покупатель должно быть заполнено Розничным?'"); Результат = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Да); Если Результат = КодВозвратаДиалога.Да Тогда Возврат Ложь; ИначеЕсли Результат = КодВозвратаДиалога.Нет Тогда Возврат Истина; КонецЕсли; КонецФункции &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Сообщить(""); РозничныйПокупатель = Истина; Для каждого Строка из Объект.Товары Цикл Если НЕ Строка.ПроцентРучнойСкидки=0 Тогда РозничныйПокупатель = Ложь; КонецЕсли; КонецЦикла; Если Объект.Партнер.Пустая() Тогда Если НЕ РозничныйПокупатель Тогда ОтменаЗаписи = ПроверкаПокупателя(); ОтменаЗаписи = Истина; Если ОтменаЗаписи Тогда Возврат; Иначе Объект.Партнер = Справочники.Партнеры.НайтиПоНаименованию("Розничный покупатель"); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры Вот ошибка. {Документ.ОтчетОРозничныхПродажах.Форма.ФормаДокумента.Форма(1256,20)}: Процедура или функция с указанным именем не определена (ПроверкаПокупателя) ОтменаЗаписи = <<?>>ПроверкаПокупателя(); (Проверка: Сервер) |
|||
1
zak555
14.09.11
✎
11:11
|
г@вно код ?
|
|||
2
AleksAnt
14.09.11
✎
11:11
|
Видимо на сервере не знают какие функции определены на клиенте:)
|
|||
3
mikecool
14.09.11
✎
11:12
|
(0) не, реально такое выравнивание кода?
|
|||
4
Шапокляк
14.09.11
✎
11:13
|
А вообще прикольненько. Ход успевает дойти до серверной процедуры записи. Раньше задать на клиенте вопрос не судьба, видать.
|
|||
5
zak555
14.09.11
✎
11:14
|
(0) кому должен быть обращён вопрос, если проводишь программно ?
|
|||
6
zak555
14.09.11
✎
11:15
|
ОтменаЗаписи = ПроверкаПокупателя();
ОтменаЗаписи = Истина; Если ОтменаЗаписи Тогда Возврат; Иначе так маня пишет |
|||
7
unregistered
14.09.11
✎
11:16
|
(5) Программно он вряд ли будет выполнять вообще этот код. Код то на форме. Если только не станет программно создавать форму и из неё записывать.
|
|||
8
mikecool
14.09.11
✎
11:16
|
(6) да ладно.. )))
|
|||
9
Шапокляк
14.09.11
✎
11:16
|
А так кто пишет?
ОтменаЗаписи = ПроверкаПокупателя(); ОтменаЗаписи = Истина; |
|||
10
IamAlexy
14.09.11
✎
11:18
|
(9) да ладно.. нормальная логика.. человек что думает то и пишет в коде...
типа .. а теперь проверим покупателеля.... .. а хотя.. и х.й сней, с проверкой.. :) нормально все.. что думаю то и программирую... |
|||
11
zahar140382
14.09.11
✎
11:21
|
(10) лучше так: 1:Тебя как зовут Вася?
2:нет сережа! |
|||
12
zahar140382
14.09.11
✎
11:21
|
(11) продолжение 1:Будешь Светой
|
|||
13
Rizhij_Nikitos
14.09.11
✎
11:21
|
(9) последнее это уже не то ) суть была такова, при записи, должна быть проверка пустое ли поле покупатель, и должно ли оно быть розничным, если есть скидки, то не по сути не должно, поэтому должен выйти диалог в ответе на который, и должны быть действия.
//ОтменаЗаписи = ПроверкаПокупателя(); // // Если ОтменаЗаписи Тогда // Возврат; // Иначе Короче все это в коментах должно быть. а В оригинале все было так ОтменаЗаписи = ПроверкаПокупателя(); Если ОтменаЗаписи Тогда Возврат; Иначе |
|||
14
Defender aka LINN
14.09.11
✎
11:22
|
(0) Если кто не заметил, она клиентская.
|
|||
15
Rizhij_Nikitos
14.09.11
✎
11:22
|
Я конечно понимаю, но почему не определяет функцию или процедуру вот мой вопрос.
|
|||
16
Ненавижу 1С
гуру
14.09.11
✎
11:24
|
(15) сервер не видит клиента
|
|||
17
Шапокляк
14.09.11
✎
11:25
|
(10) Скорее, так:
.. а теперь проверим покупателеля.... .. а хотя.. и х.й сней, с проверкой..все равно не буду записывать. (15) Счас тебе еще 100 раз объяснят, что в серверных процедурах не видят клиентских, а ты опять спросишь. |
|||
18
AleksAnt
14.09.11
✎
11:26
|
(15) или как было на форуме: сервер вопрос будет задавать стенке в серверной?
|
|||
19
Rizhij_Nikitos
14.09.11
✎
11:26
|
Сорри но я не особо понимаю сарказма в сообщения выше, (16) пасибо за ответ.
|
|||
20
zahar140382
14.09.11
✎
11:27
|
(18) 5 балов ))))
|
|||
21
Rizhij_Nikitos
14.09.11
✎
11:28
|
Не просто в идеале я думал будет так, на сервере данные обработаются, потом сервер пошлет клиенту вопрос, и примет от него ответ, и получится такая схема: Сервер(обработка)-Клиент(Ответ)-Сервер(действия). НО видимо я до сих пор не понимаю &НаКлиенте, &НаСервере, что они точно значат.
|
|||
22
zahar140382
14.09.11
✎
11:28
|
Rizhij_Nikitos а чем тебе был это не ответ? (2)
|
|||
23
Rizhij_Nikitos
14.09.11
✎
11:30
|
(22) я же вроде написал, я сарказм особо не понимаю.
|
|||
24
Ненавижу 1С
гуру
14.09.11
✎
11:30
|
(21) ты про клиент-сервер читал когда-нибудь? или про MVC (аналогия)?
Модель данных (сервер у тебя) понятия не имеет о представлении данных (клиенте) |
|||
25
Allexe
14.09.11
✎
11:36
|
(21) На клиенте создаешь функцию и обращаешься к процедуре на сервере. Она обрабатывается и возвращает в переменную на клиенте значение, т.к. была вызвана с клиента. А так с чего сам по себе сервер будет что-то клиенту возвращать?
|
|||
26
Allexe
14.09.11
✎
11:37
|
+25 В первом предложении поменять местами функцию и продедуру
|
|||
27
Rizhij_Nikitos
14.09.11
✎
11:38
|
(26) пасибо за помощь, сделал примерно как ты описал, просто сам вопрос стал интересным.
|
|||
28
jenny_tea
14.09.11
✎
11:38
|
Вызовите эту функцию В процедуре ПередЗаписью Клиентской
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |