[РЕШЕНО] Как не выводить сервисное сообщение при отказе проведения?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем TylerDurdenIII, 25 фев 2015.

  1. TopicStarter Overlay
    TylerDurdenIII
    Offline

    TylerDurdenIII

    Регистрация:
    19 фев 2015
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Всем привет!

    В обработке проведения делаю проверку на наличие проведенных документов на основании, и если таковые есть - выдаю ошибку, что нужно их распровести и делаю "Отказ = Истина". При этом выдается сервисное сообщение "Не удалось провести [название документа]. Ок, Подробно...".

    Начальника хочет, чтобы выводилось одно сообщение о том, что не проведено, т.к. есть документы на основании. Как вывести свое сообщение и не выводить сервисное?
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    в попытку пихайте.
  3. TopicStarter Overlay
    TylerDurdenIII
    Offline

    TylerDurdenIII

    Регистрация:
    19 фев 2015
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Если можно, чуть подробнее. В каком месте использовать попытку и что в ней пытаться сделать? Я же не программно провожу, а стандартными средствами.
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Если кодить не умеете, лучше не лезьте, да и мой вам совет, не нужно переделывать штатный функционал, потом при обновлении замучаетесь. Это ваша "хотелка" ничего не значит для бизнес-логики, так что оставьте эту затею.
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    TylerDurdenIII
    в суть не вдумывался. Пока вопросы:
    1) почему вы это делаете (проверку) именно в обработке проведения документа? Почему например нельзя сделать это раньше, например перед записью документа?
    2) всю задачу не знаю, это зависит уже от нее, поэтому может быть не актуально, но: судя по первому посту подразумевается что это проведение ваше запускает пользователь, и ему выводится какое-то сообщение. В итоге: вашу проверку действительно в модуле объекта надо делать, или же допустимо вообще убрать ее в модуль формы?
  6. TopicStarter Overlay
    TylerDurdenIII
    Offline

    TylerDurdenIII

    Регистрация:
    19 фев 2015
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    1) Если делать в процедуре ПередЗаписью также придется ставить Отказ=Истина, который приведет к сообщению "Не удалось провести [название документа]".
    2) Если в форму поместить код, то не отработает при проведении из списка.
  7. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Главный вопрос - для чего это ????
    Это влияет на бизнес-логику ?
    Это влияет на скорость работы ИБ ?
    Это влияет на оперативность ?
    На что это влияет ????
  8. TopicStarter Overlay
    TylerDurdenIII
    Offline

    TylerDurdenIII

    Регистрация:
    19 фев 2015
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Есть такие люди, которые хотят и все тут. Мешает им видите ли лишнее отвлекающее от основного сообщение. Буду убеждать, что не надо это, просто уже интересно как же можно это сделать если это возможно.
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    2) Понял. Принимается.
    1) ПередЗаписью() использовать в любом случае лучше, не будет лишних расчетов, выполняемых в процедуре проведения

    Еще уточняющий вопрос: контролировать (выводить ваше сообщение) надо именно при проведении документа или при отмене проведения?
  10. TopicStarter Overlay
    TylerDurdenIII
    Offline

    TylerDurdenIII

    Регистрация:
    19 фев 2015
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    При отмене тоже
  11. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну ок.
    Смотрите, я не знаю как вы выводите ваше сообщение (Предупреждение())? Т.е. модальным окном что-ли, что у вас два она появляется?
    Если так, то рекомендуемый мной вариант: сделать точно также как реализовано стандартно. Т.е. выводите причину ошибки при помощи "ОбщегоНазначения.СообщитьОбОшибке()", она появляется внизу экрана в окне сообщений, и на экране это ваше системное окно о том что невозможно провести (записать) документ.
    Если же упорно так не хотите, ну единственный вариант который я знаю: вызовите собственное исключение в процедуре проведения (ВызватьИсключение <Текст>).
  12. TopicStarter Overlay
    TylerDurdenIII
    Offline

    TylerDurdenIII

    Регистрация:
    19 фев 2015
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    В данный момент все как вы и описали - служебное сообщение выскакивает, а мое сообщение внизу экрана. Клиент упорно хочет одно сообщение.
    Есть ли подводные камни у вызова исключения из проведения? Не делает ли платформа еще чего важного кроме вывода сообщения при отказе?
  13. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Да нет. Чего она важного может делать? Вызываете исключение - транзакция записи прерывается.
  14. TopicStarter Overlay
    TylerDurdenIII
    Offline

    TylerDurdenIII

    Регистрация:
    19 фев 2015
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Ок. Спасибо всем.
Похожие темы
  1. Vertex
    Ответов:
    12
    Просмотров:
    569
Загрузка...

Поделиться этой страницей