Имя: Пароль:
1C
1С v8
Мелкий вопрос по УФ
0 Мисти
 
27.08.13
19:03
Из процедуры "НаСервере" можно вызвать "НаКлиенте" в форме?
Или как написать вопрос пользователю?
1 ИсчадиеADO
 
27.08.13
19:05
нет, книжки почитайте, чтоли
2 Basilio
 
27.08.13
19:08
нельзя. вопрос задавай с клиента.
3 Vexcel
 
27.08.13
19:08
нет, нельзя
вопрос пользователю пиши на клиенте
4 jsmith82
 
27.08.13
19:09
(1)(2)(3) +1
5 jsmith82
 
27.08.13
19:09
<<Или как написать вопрос пользователю?
вызывай из клиента серверные функции и мути вопросы
тема баян
6 sikuda
 
27.08.13
19:44
пиши на клиенте ПоказатьВопрос и обраба тывай результат ответа в о повещении на клиенте.
7 Мисти
 
27.08.13
19:45
Ага, разобралась с вопросами, остался последний момент!
(опять же баян, но всё равно не знаю как)
Процедуру вызываю "приИзменении" - и мне надо, что если ответ пользователя "нет", то чтоб ничего не изменялось.
Как это сделать?
8 jsmith82
 
27.08.13
19:46
(7) возврат йопта
кагбе
не?
9 Мисти
 
27.08.13
19:53
Возврат чего?
&НаКлиенте
Процедура ПартнерПриИзменении(Элемент)
    Если ПроверитьКлиента() Тогда
        КодОтвета = Вопрос(НСтр("ru = 'Табличная часть будет очищена, продолжить?'"), РежимДиалогаВопрос.ДаНет);
        Если КодОтвета = КодВозвратаДиалога.Нет Тогда
            Отказ = Истина;
            Возврат;
        КонецЕсли;
        ПриИзмененииПартнераСервер();
    КонецЕсли;
    ПроставитьЗонуДоставки();
КонецПроцедуры

Работают все варианты, кроме когда надо ничего не менять.
Может, надо было не "приИзменении"?
10 Мисти
 
27.08.13
19:53
В 7, вроде, был статус возврата, а тут?
11 jsmith82
 
27.08.13
19:55
(10) какой отказ, детка
        Если КодОтвета = КодВозвратаДиалога.Нет Тогда
            Возврат;
        КонецЕсли;

ффсё
12 jsmith82
 
27.08.13
19:57
Процедура ПартнерПриИзменении(Элемент)
    Если ПроверитьКлиента() Тогда
        КодОтвета = Вопрос(НСтр("ru = 'Табличная часть будет очищена, продолжить?'"), РежимДиалогаВопрос.ДаНет);
        Если КодОтвета = КодВозвратаДиалога.Нет Тогда
            Возврат;
        КонецЕсли;
        ПриИзмененииПартнераСервер();
        ПроставитьЗонуДоставки();
    КонецЕсли;
КонецПроцедуры
13 jsmith82
 
27.08.13
19:57
мути условные операторы и возвраты
и всё будет в теме, Мисти
14 Мисти
 
27.08.13
19:58
Ну так вопрос - про очистить табличную часть, она и не очищается, с этой точки зрения всё нормально, но при этом и партнер не должен меняться!
15 Мисти
 
27.08.13
19:58
А у меня он уже по сути к моменту вызова этой процедуры поменялся!
16 jsmith82
 
27.08.13
19:59
(15) как он у тебя поменяется, если был возврат
17 Мисти
 
27.08.13
20:00
Потому что "приИзменении" - он уже новый!
18 Мисти
 
27.08.13
20:01
Можно "приНачале выбора" и ничего там не проверять, просто спрашивать, очистить ли табличную часть. Они же не будут менять патрнера на того же самого!
19 temsa
 
27.08.13
20:03
(17) Открой в свойствах раздел события и внимательно прочти все события и выбери наиболее подходящее событие.
ПриИзменении значит уже изменился

ОбработкаВыбора не подходит?
20 Basilio
 
27.08.13
20:04
ПриИзменении уже поздняк отказ лепить. Данные уже изменились.
21 Basilio
 
27.08.13
20:05
ОбработкаВыбора тебе поможет
22 jsmith82
 
27.08.13
20:06
в типовых конфигах в реквизитах формы есть понятия
СтарыйДоговор, СтарыйКонтрагент
условно говоря
23 temsa
 
27.08.13
20:06
НУ вот подтвердили мои догатки
Вот тебе пример

Процедура ИмяУстройстваОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Если ИмяУстройства = ВыбранноеЗначение Тогда // ничего не изменилось - ничего не делаем
        СтандартнаяОбработка = Ложь;
    КонецЕсли;    
КонецПроцедуры
24 Мисти
 
27.08.13
20:06
Вот и я говорю!
25 jsmith82
 
27.08.13
20:06
сорри, не сразу просёк фишку
26 Basilio
 
27.08.13
20:06
Если надо отменить
ОбработкаВыбора ()
Если <Условие> Тогда
СтандартнаяОбработка = Ложь;
конецЕсли
27 Мисти
 
27.08.13
20:10
Спасибочки!
28 Поросенок Петр
 
27.08.13
20:10
А теперь очисти значение в поле.
29 Мисти
 
27.08.13
20:12
Зачем?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс