|
v8: Отменить сообщение платформы | ☑ | ||
---|---|---|---|---|
0
sem4cnt
23.01.13
✎
18:27
|
Процедура ОбработкаУдаленияПроведения(Отказ)
Результат = ПолучитьСтатусДоставки(Ссылка); Если Результат <> Неопределено Тогда Статус = Результат.Статус; Если Статус <> Перечисления.СтатусыДоставки.КРаспределению Тогда Сообщить(Строка(Ссылка)+" заблокирован! Статус: """+Статус+""""); Отказ = Истина; Возврат; КонецЕсли; НаборЗаписей = РегистрыСведений.СтатусыДоставкиМаршрутныхЗаданий.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.МаршрутноеЗадание.Установить(Ссылка); НаборЗаписей.Записать(); КонецЕсли; КонецПроцедуры |
|||
1
Нуф-Нуф
23.01.13
✎
18:28
|
продолжайте наблюдения
|
|||
2
sem4cnt
23.01.13
✎
18:28
|
После того как выполнена строка: Отказ = Истина, вылазит сообщение платформы, которое вызывается автоматически.
Как его убрать, подскажите знатоки? |
|||
3
sem4cnt
23.01.13
✎
18:30
|
Уже третий час с этим сижу...
|
|||
4
sem4cnt
23.01.13
✎
18:33
|
Упростим для наглядности (или для тех кому лень читать)
Процедура ОбработкаУдаленияПроведения(Отказ) Результат = ПолучитьСтатусДоставки(Ссылка); Если Результат <> Неопределено Тогда Отказ = Истина; Возврат; // тут вылазит сообщение платформы КонецЕсли; //какие-то действия... КонецПроцедуры |
|||
5
sem4cnt
23.01.13
✎
18:34
|
Как его убрать?
|
|||
6
Wobland
23.01.13
✎
18:36
|
переписать платформу?
|
|||
7
ssh2006
23.01.13
✎
18:38
|
(5) > Как его убрать?
Отказ = Ложь; |
|||
8
Нуф-Нуф
23.01.13
✎
18:39
|
(7) все гениальное просто
|
|||
9
Reset
23.01.13
✎
18:41
|
(5) К сожалению, приходя в голову только кривые пути:
Спрятать кнопку удаления проведения везде и нарисовать свою, где отмену выполнять в попытке. Второе-(если совсем невмоготу и любые средства позволены) Делать проверку ПередЗаписью() и вместо Отказ=Истина писать РежимЗаписи = РежимЗаписиДокумента.Запись |
|||
10
Reset
23.01.13
✎
18:42
|
+(9) Нормальных путей я не знаю
|
|||
11
Wobland
23.01.13
✎
18:46
|
самое главное: на зачем?
|
|||
12
mehfk
23.01.13
✎
18:50
|
(0) Текст "сообщения платформы" предлагаешь угадать или как в том анекдоте "Услуги программиста. Интерпретирую программы и двигаю курсор. Дорого"?
|
|||
13
Reset
23.01.13
✎
18:51
|
(12) Текст сообщения очевиден
|
|||
14
mehfk
23.01.13
✎
18:55
|
(13) Жги
|
|||
15
sem4cnt
23.01.13
✎
18:57
|
(12) Не счел столь важным. Но если это поможет, то: "Не удалось сделать непроведенным "+Ссылка
|
|||
16
mehfk
23.01.13
✎
19:01
|
(15) Логично. Смотри (7)
|
|||
17
sem4cnt
23.01.13
✎
19:04
|
(16) Очень умный совет, если надо отказаться от отмены проведения по некоторому условию...
|
|||
18
fyn
23.01.13
✎
19:06
|
(0) а зачем убирать-то?
|
|||
19
etc
23.01.13
✎
19:06
|
(7) а транзакцию кто откатывать будет? Дядя Вася?
|
|||
20
etc
23.01.13
✎
19:08
|
(0) "против системы не попрешь" :)
|
|||
21
etc
23.01.13
✎
19:09
|
(18) для красоты.
Вообще могли бы сделать возможность подменить сообщение которое выводится. Лентяи. |
|||
22
Reset
23.01.13
✎
19:14
|
(21) Ну, "подменить" при сильном желании можно :)
Через жпо опять же: ВызватьИсключение "Нельзя отменять проведение, вы чо" |
|||
23
fyn
23.01.13
✎
19:15
|
(21) т.е. все остальное уже реализовано и работает, а сообщение о невозможности проведения мешает?
ну делайте все проверки перед записью и не будет тогда проблем при проведении ) |
|||
24
mehfk
23.01.13
✎
19:19
|
(17) Удаление движений = не удалять автоматически + удаляйте движения или не удаляйте движдения программно.
|
|||
25
sem4cnt
23.01.13
✎
19:21
|
(23) Дано: документ уже проведен. Надо: запретить его удаление (любыми путями в т.ч. программными), если выполняется условие.
Если запихнуть анализируемые условия в процедуру при записи и выставить отказ = Истина там, то вылезет тоже самое окно с предупреждением. :((( |
|||
26
Mort
23.01.13
✎
19:22
|
Ещё один хороший способ поднас*ать следующему программисту. Спрятать исключение за общей фразой, чтобы он зоипался её в коде искать.
|
|||
27
etc
23.01.13
✎
19:23
|
(23) перед записью в модуле объекта тоже вроде как выводит. Только вот большинство проверок как правило в проведении делают. Особенно если по схеме "записал движения а потом контроль" и если что "отказ". Как в УТ.
|
|||
28
sem4cnt
23.01.13
✎
19:24
|
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда Результат = ПолучитьСтатусДоставки(Ссылка); Если Результат <> Неопределено Тогда Статус = Результат.Статус; Если Статус <> Перечисления.СтатусыДоставки.КРаспределению Тогда Сообщить(Строка(Ссылка)+" заблокирован! Статус: """+Статус+""""); РежимЗаписи = РежимЗаписиДокумента.Запись; // Все равно вылазит долбанное окно! //Отказ = Истина; // так тоже вылазит!!! КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
29
Reset
23.01.13
✎
19:29
|
(28) Если появляется сообщение, значит или Отказ устанавливается далее по тексту, или на самом деле происходит какая-л ошибка
|
|||
30
sem4cnt
23.01.13
✎
19:30
|
(29) Ни то, ни другое...
|
|||
31
Mort
23.01.13
✎
19:30
|
+(26) (22) А исключение это не через жпо, а очень даже труъ.
|
|||
32
Reset
23.01.13
✎
19:31
|
(30)
Я бы на твоем месте оставил как есть (0) Сообщение платформы не выглядит странным, на фоне дополнительного разъянения в Сообщить. |
|||
33
sem4cnt
23.01.13
✎
19:32
|
(31) Да мне не нужно подменять! Нужно убрать. Достаточно моего: Сообщить(Строка(Ссылка)+" заблокирован! Статус: """+Статус+"""");
|
|||
34
sem4cnt
23.01.13
✎
19:32
|
(32) А если захотят отменить через групповую обработку? ))
|
|||
35
mehfk
23.01.13
✎
19:32
|
(25) Ради эксперимента - закинь в серверный модуль.
|
|||
36
Reset
23.01.13
✎
19:33
|
(30) Не может быть "ни то, ни другое". Сообщение об ошибке есть? Значит есть или ошибка, или отказ, который также рассмаривается как "ошибка" при записи (или отмене проведения)
|
|||
37
Reset
23.01.13
✎
19:37
|
(34) Групповые обработки обычно делают в скобках Попытка
|
|||
38
sem4cnt
23.01.13
✎
19:39
|
(37) Так попытка удачна будет! Тут не вызывается исключений никаких!
|
|||
39
Reset
23.01.13
✎
19:40
|
(38) Не понял.
|
|||
40
sem4cnt
23.01.13
✎
19:40
|
(37) Это к чему было написано?
|
|||
41
Reset
23.01.13
✎
19:41
|
(38) Попытка перейдет в исключение, ты же отказ ставишь.
|
|||
42
Reset
23.01.13
✎
19:41
|
(40) К тому, что сообщения, которых ты хочешь избежать, выводитьтся не будут. Я об этом еще в (9) написал.
|
|||
43
sem4cnt
23.01.13
✎
19:42
|
(41) Не будет исключений! Проверил!
|
|||
44
sem4cnt
23.01.13
✎
19:42
|
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда Результат = ПолучитьСтатусДоставки(Ссылка); Если Результат <> Неопределено Тогда Статус = Результат.Статус; Попытка Если Статус <> Перечисления.СтатусыДоставки.КРаспределению Тогда Сообщить(Строка(Ссылка)+" заблокирован! Статус: """+Статус+""""); // РежимЗаписи = РежимЗаписиДокумента.Запись; // Все равно вылазит долбанное окно! Отказ = Истина; // так тоже вылазит!!! КонецЕсли; Исключение ОК = 1; // сюда не попадает!!! КонецПопытки; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
45
Reset
23.01.13
✎
19:43
|
(43) Хреново проверил
|
|||
46
sem4cnt
23.01.13
✎
19:44
|
Тогда я тебя не понимаю. Как правильно написать?
|
|||
47
Reset
23.01.13
✎
19:44
|
(46) Написать что?
|
|||
48
sem4cnt
23.01.13
✎
19:45
|
Чтобы не вылазило сообщение платформы.
|
|||
49
Reset
23.01.13
✎
19:45
|
(44) Зачем ты зафичал туда попытку?
|
|||
50
Reset
23.01.13
✎
19:45
|
(48) Ничего. Это невозможно нормальным способом.
Ненормальные в (9) |
|||
51
sem4cnt
23.01.13
✎
19:46
|
(49) Напиши как правильно. Код напиши.
|
|||
52
Reset
23.01.13
✎
19:46
|
(51) Правильно написать что? :D
|
|||
53
sem4cnt
23.01.13
✎
19:47
|
(9) = (44) = не работает! = вылазит сообщение платформы!
|
|||
54
mehfk
23.01.13
✎
19:49
|
(48) Ты можешь программно удалить движения - удаляй. Хочешь - поставь в конфигураторе "не удалять движения автоматически". Нет - мирись с солбщением платформы.
|
|||
55
Reset
23.01.13
✎
19:50
|
(53) В (9) другое сказано.
Имелось в виду Попытка ДокОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения); Исключение // исли ты установишь Отказ в Истину как в посте (0), попадешь сюда // но сообщение не будет выведено, т.к. "ошибка перехвачена" КонецПопытки; |
|||
56
Reset
23.01.13
✎
19:55
|
(54) Какое имееют отношение движения и их удаление/не удаление к выводу сообщения в ситуации автора?
|
|||
57
sem4cnt
23.01.13
✎
19:55
|
(55) откуда ты предлагаешь вызвать код ДокОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
|
|||
58
Reset
23.01.13
✎
19:58
|
(57) я не это предлагаю, я предлагаю (32) :)
А так - в обработчике собственнонарисованной кнопки. ну написано же. |
|||
59
Reset
23.01.13
✎
20:00
|
И на вопрос "Зачем", многократно в теме заданный, ты так и не ответил.
|
|||
60
mehfk
23.01.13
✎
20:05
|
(56) Автор хочет при некоторых условиях не оменять движения документа, так?
|
|||
61
Ник второй
23.01.13
✎
20:17
|
(0) Не лохмать бабушку. Сообщение чем мешает ответь?
|
|||
62
fyn
23.01.13
✎
20:35
|
(25) если документ нельзя редактировать, то форма должна быть в режиме только просмотр, а программно в передзаписью будет отказ или исключение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |