|
Диалог Да/Нет/Отмена на сервере 1С:Предприятие | ☑ | ||
---|---|---|---|---|
0
Эльфийка
28.11.12
✎
02:17
|
Доброго времени суток, форумчане!
Глобальный контекст Вопрос (DoQueryBox) Синтаксис: Вопрос(<Текст вопроса>, <Режим>, <Таймаут>, <Кнопка по умолчанию>, <Заголовок>) Недоступен на сервере 1С:Предприятие. А чем можно заменить? Т.е. мне нужно создать диалог на сервере. Заранее благодарю! |
|||
1
France
28.11.12
✎
02:17
|
если клиент
|
|||
2
Конфигуратор1с
28.11.12
✎
02:19
|
(0)Кого Вы опрашивать на сервере собрались?
|
|||
3
Конфигуратор1с
28.11.12
✎
02:20
|
Понимаете код выполняемый на сервере выполняется физически на сервере. То есть, Вы сидите за ноутом, а в это время вопрос выпрыгивает у админа в серверной
|
|||
4
Конфигуратор1с
28.11.12
✎
02:20
|
(0)Надо переписывать процедуру так что бы вопрос был на клиенте
|
|||
5
Эльфийка
28.11.12
✎
02:23
|
&НаСервере
Ответ = ПолучитьНаКлиенте(Ответ); Если Ответ = "Нет" Тогда Возврат; Иначе.... ... &НаКлиенте Функция ПолучитьНаКлиенте(Ответ) Режим = РежимДиалогаВопрос.ДаНет; Текст = "Вы хотите внести изменения в комментарий документа?"; Ответ = Вопрос(НСтр(Текст), Режим, 0); Возврат Ответ; КонецФункции в результате пишет Процедура или функция с указанным именем не определена (ПолучитьНаКлиенте) Ответ = <<?>>ПолучитьНаКлиенте(Ответ); (Проверка: Сервер) |
|||
6
GROOVY
28.11.12
✎
02:23
|
Зачем на сервере модальные окна?
|
|||
7
Эльфийка
28.11.12
✎
02:24
|
Как мне тогда на сервере получить результат диалога на клиенте?
|
|||
8
GROOVY
28.11.12
✎
02:25
|
(5) Гонишь, "ответ" - это должно быть системное перечисление. И приводить его к строке как то дебильно.
|
|||
9
Конфигуратор1с
28.11.12
✎
02:25
|
(7)Спросить на клиенте и потом вызвать сервер
|
|||
10
Эльфийка
28.11.12
✎
02:26
|
На сервере мне нужен только результат ответа пользователя. Есл и ответ положительный, то на сервере я открываю ему доступ на некоторые элементы, если нет, то форма документа так и остается не доступной пользователю. Надеюсь понятно объяснила.
|
|||
11
Эльфийка
28.11.12
✎
02:26
|
(9) То есть, это как?
|
|||
12
Эльфийка
28.11.12
✎
02:30
|
(9) не подходит, потому что сначала пользователь открывает документ, доступ к которому у него закрыт (выполняется проверка на сервере), потом надо спросить у пользователя чего он хочет и ....(далее описывала выше)
|
|||
13
Конфигуратор1с
28.11.12
✎
02:30
|
(11)Сначала спрашиваете а ты уверен? а когда говорит да вызываете серверную процедуру
|
|||
14
Конфигуратор1с
28.11.12
✎
02:32
|
(12)При создании на сервере обрабатываете проверку. В реквизит формы пихаете что то типа - Наш клиент. В процедуре при открытии на клиенте проверяете если нашклиент тогда вопрос. И потом по результату вопроса вызываете серверную процедуру на открытие доступа
|
|||
15
GROOVY
28.11.12
✎
02:33
|
(10)
Клиент: (За дверью, звонит в звонок), Вызов! Сервер: (На кухне, чайник наливает). Опа, кто то звонит! Клиент: Звонит повторно, нет ответа от сервера... Сервер: Подошел к двери: "Кто там?" Клиент: "Почта!" Сервер: "Положите в ящик!" Что будет делать и как сервер с данными клиента не должно волновать. |
|||
16
GROOVY
28.11.12
✎
02:34
|
А еще запятые ",,,,," забыл, сегодня со мной это что то часто!
|
|||
17
ras
28.11.12
✎
02:35
|
(12) либо в процедуре ПриОткрытии задавать вопрос, либо работать с журналом документов, имхо...
|
|||
18
Конфигуратор1с
28.11.12
✎
02:36
|
(15)Перечитал два раза - пора мне спать ложиться (((
|
|||
19
Эльфийка
28.11.12
✎
02:37
|
(14) у нас есть только процедура &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка), куда и попадаем при открытии документа. (и нет процедуры при открытии на клиенте) |
|||
20
Эльфийка
28.11.12
✎
02:38
|
(15) не издевайтесь, пож-та, мне нужна помощь и реальный ответ, пусть даже задача не реальная))))
|
|||
21
Конфигуратор1с
28.11.12
✎
02:41
|
(19)А кто мешает завести?
|
|||
22
Эльфийка
28.11.12
✎
02:42
|
(3) представила, как бы это было в действительности и стало смешно.
|
|||
23
Конфигуратор1с
28.11.12
✎
02:44
|
(19)Как я понимаю УФ, то сначала форма создается на сервере и выполняется процедура ПриСозданииНаСервере. Далее эта форма передается на клиент. Как ХТМЛЬ у сайтов. где и отображается. Посему ПриОткрытии на клиенте идет следующим.
|
|||
24
Конфигуратор1с
28.11.12
✎
02:44
|
(22)Вам смешно, а админ сидит в серверной. Холодно голодно, а ему на вопросы 1ски отвечать надо - не то шо покурить в туалет отлучится не может
|
|||
25
Эльфийка
28.11.12
✎
02:48
|
(23) фигня в том, что при создании на сервере перед этим идет проверка Если (Объект.Стадия = Перечисления.Стадии.ПринятБухгалтерией И РольДоступна("СотрудникОтделаПродаж")) Тогда ....
|
|||
26
Эльфийка
28.11.12
✎
02:49
|
(25)т.е. мне не всегда нужна эта процедура при открытии на клиенте, а тока в определенных случаях
|
|||
27
Конфигуратор1с
28.11.12
✎
02:49
|
(25)Тогда что?
|
|||
28
Эльфийка
28.11.12
✎
02:50
|
(24) ну всё, я уже под столом))))
|
|||
29
Конфигуратор1с
28.11.12
✎
02:51
|
(26)Так я же и пишу. При создании на сервере пишете
Если (Объект.Стадия = Перечисления.Стадии.ПринятБухгалтерией И РольДоступна("СотрудникОтделаПродаж")) Тогда Записываете в реквизит формы с типом булево Спроситьу пользователяо размере носков = истина; При открытии пишете Если Спроситьу пользователяо размере носков тогда вопрос. серверная процедура с настройкой доступа и все |
|||
30
Эльфийка
28.11.12
✎
02:51
|
(27) тогда сначала задаем вопрос, получаем ответ, и в зависимости от ответа, действуем дальше
|
|||
31
Конфигуратор1с
28.11.12
✎
02:52
|
(29)Ферштейн?
|
|||
32
Конфигуратор1с
28.11.12
✎
02:52
|
(30)Ну вот. В (29)усе
|
|||
33
Конфигуратор1с
28.11.12
✎
02:54
|
То есть на сервере делаете проверку и пишете ее результат в реквизит формы. Далее при открытии анализируете значение реквизита формы и если надо задаете вопрос, по результатам которого делаете ваше действие.
|
|||
34
Эльфийка
28.11.12
✎
02:54
|
(29) когда выполняется данное условие, форма документа ему не доступна. так что реквизит формы , как я понимаю не сможем записать
|
|||
35
Конфигуратор1с
28.11.12
✎
02:56
|
(34)а сделайте что бы этот реквизит был доступен всем пользователям но никому не видим
|
|||
36
Эльфийка
28.11.12
✎
02:58
|
Т.е. сейчас сделано так, если у документа стадия ПринятБухгалтерией , то пользователи ничего там не могут изменить, только смотреть закладки в табличной части и всё. Но продажникам надо открыть доступ для редактирования, только для поля Комментарий
|
|||
37
Эльфийка
28.11.12
✎
02:59
|
(35) как я заметила, то если форма не доступна, то в не зависимости есть доступ к кнопкам, полям и т.п. или нет, ничего не доступно
|
|||
38
Конфигуратор1с
28.11.12
✎
03:01
|
(37)Это уже как Вы пропишете доступ формы
|
|||
39
Эльфийка
28.11.12
✎
03:01
|
т.е. на момент когда форма не доступна, данный добавленный реквизит будет тоже не доступен (или я уже ничего не понимаю(((()
|
|||
40
Конфигуратор1с
28.11.12
✎
03:01
|
Я ваще спатки. Если хотите давайте тимку все Вам сделаем по быстренькому
|
|||
41
Конфигуратор1с
28.11.12
✎
03:02
|
(39) Есть такая вещь как привелигированный общий модуль на крайний случай.
|
|||
42
Эльфийка
28.11.12
✎
03:05
|
(40) я тоже спать, перечитаю сегодня после того как встану, может вникну наконец))))
|
|||
43
Эльфийка
28.11.12
✎
03:05
|
(41) спасибо за идею!!!!
|
|||
44
Конфигуратор1с
28.11.12
✎
03:06
|
(43)Спасибо много - фото в самый раз )))
|
|||
45
Эльфийка
28.11.12
✎
03:07
|
вообще можно было бы сделать проще, ЭтаФорма.ТолькоПросмотр = Ложь;
Элементы.Группа8.Доступность = Ложь; Элементы.Ответственный.Доступность = Ложь; Элементы.Группа1.Доступность = Ложь; Элементы.Группа3.Доступность = Ложь; Элементы.Группа4.Доступность = Ложь; Элементы.Группа13.Доступность = Ложь; //Элементы.НачислениеАгентских.Доступность = Ложь; Элементы.Автор.Доступность = Ложь; Элементы.Комментарий.Доступность = Истина; |
|||
46
Эльфийка
28.11.12
✎
03:08
|
но в этом случае, пользователь не может просматривать не доступные ему закладки 3,4,13. Они просто высвечиваются как полностью не доступная табличная часть
|
|||
47
Конфигуратор1с
28.11.12
✎
03:10
|
(46)Так пусть и не смотрит
|
|||
48
Конфигуратор1с
28.11.12
✎
03:11
|
И ваще - отпустите меня спатки. Мне завтра еще рабочий вид изображать
|
|||
49
Эльфийка
28.11.12
✎
03:12
|
(48) умного человека жаль отпускать))))
|
|||
50
Конфигуратор1с
28.11.12
✎
03:13
|
(49)Я вернусь. Честное пионерское
|
|||
51
Эльфийка
28.11.12
✎
03:13
|
(47) смотреть надо, потому что как раз на второй закладке 4, у них проценты их от продажи записаны, которые они должны видеть))))
|
|||
52
Эльфийка
28.11.12
✎
03:13
|
(50) буду надеяться и ждать! спокойной ночи!сладких снов!
|
|||
53
Конфигуратор1с
28.11.12
✎
03:14
|
(52)Взаимно
|
|||
54
Эльфийка
28.11.12
✎
03:15
|
Ура!!! все оказалось как всегда намного проще!!!!!!!!!
|
|||
55
Эльфийка
28.11.12
✎
03:16
|
у меня все получилось!!! вот
Если (Объект.Стадия = Перечисления.Стадии.ПринятБухгалтерией И РольДоступна("СотрудникОтделаПродаж")) Тогда ЭтаФорма.ТолькоПросмотр = Ложь; Элементы.Группа8.Доступность = Ложь; Элементы.Ответственный.Доступность = Ложь; Элементы.Группа3.ТолькоПросмотр = Истина; Элементы.Группа4.ТолькоПросмотр = Истина; Элементы.Группа13.ТолькоПросмотр = Истина; Элементы.НачислениеАгентских.ТолькоПросмотр = Истина; Элементы.Автор.Доступность = Ложь; Элементы.Комментарий.Доступность = Истина; КонецЕсли; |
|||
56
Эльфийка
28.11.12
✎
03:17
|
так что Конфигуратор1с можете быть свободным, отпускаю)))))))))))))
|
|||
57
Эльфийка
28.11.12
✎
03:17
|
и благодарю от всего сердца!!!
|
|||
58
Конфигуратор1с
28.11.12
✎
11:26
|
(57)Ну вот, Карлсон вернулся, а Малыш уже съел все варенье (((
|
|||
59
samozvanec
28.11.12
✎
11:36
|
все не читал. разорвать серверную процедуру предлагали?
|
|||
60
Klesk
28.11.12
✎
11:38
|
(2) а как же Сообщить() кому оно сообщает?
|
|||
61
Конфигуратор1с
28.11.12
✎
11:39
|
(60)вроде тоже серверу, Если хотите оповестить клиента то надо использовать сообщение пользователю
|
|||
62
Klesk
28.11.12
✎
12:52
|
(61) не, я вижу "сообщить" на клиенте
|
|||
63
Конфигуратор1с
28.11.12
✎
12:53
|
(62)В файловом варианте?
|
|||
64
Klesk
28.11.12
✎
12:55
|
Сообщить (Message)
Синтаксис: Сообщить(<ТекстСообщения>, <Статус>) Параметры: <ТекстСообщения> (обязательный) Тип: Строка. Текст сообщения. <Статус> (необязательный) Тип: СтатусСообщения. Статус сообщения. Определяет вид пиктограммы. Значение по умолчанию: Обычное Описание: Выводит текст сообщения в окно сообщений. Если в момент вызова окно сообщений отсутствует, то будет открыто новое окно сообщений. Сообщение, в зависимости от его смысловой нагрузки, можно пометить одной из пиктограмм, входящих в предопределенный набор. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример: Сообщить("Выбранный товар отсутствует на складе!", СтатусСообщения.Важное); |
|||
65
Klesk
28.11.12
✎
12:55
|
(63) в любом
|
|||
66
Конфигуратор1с
28.11.12
✎
13:00
|
(65)Таки да, был не прав. На клиенте его показывает. Только что проверил. Хотя логики не пойму
|
|||
67
Klesk
28.11.12
✎
13:00
|
(66) я тоже
|
|||
68
hhhh
28.11.12
✎
13:03
|
(67) Сообщить не требует ответа. Поэтому можно спокойно его сложить куда-нибудь, а когда запустится клиент, может через месяц, ему это показать.
|
|||
69
Конфигуратор1с
28.11.12
✎
13:05
|
(68)В чем смысл тогда Сообщение пользователю?
|
|||
70
NcSteel
28.11.12
✎
13:18
|
(69) Очень гибкий объект. Позволяет привязать объекты и поля формы.
|
|||
71
acsent
28.11.12
✎
13:22
|
Лучше по молчанию доступность ложь и кнопка редактировать. Так в ут 11 например
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |