|   |   | 
| 
 | 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) если документ нельзя редактировать, то форма должна быть в режиме только просмотр, а программно в передзаписью будет отказ или исключение     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |