Не выводить ошибку в окне сообщений 1с

как не выводить окно сообщений

Я
   meps

06.09.06 — 12:08

Есть ли команда для того чтобы при выполнении обработки в случае ошибки эта ошибка не выскакивала в окне сообщений?

Вообще возможно ли сделать так

   Рупор2

1 — 06.09.06 — 12:09

Попытка

   Config1C

2 — 06.09.06 — 12:16

WshShell = СоздатьОбъект(«WScript.Shell»);

WshShell.SendKey(«^+(z)»);

WshShell.SendKey(«^+(я)»);

   meps

3 — 06.09.06 — 12:17

У меня ошибка из диалога выскакивает

Вот этот код тогда куда вставить:

WshShell = СоздатьОбъект(«WScript.Shell»);

WshShell.SendKey(«^+(z)»);

WshShell.SendKey(«^+(я)»);

   АЛьФ

4 — 06.09.06 — 12:20

2(3) А если исправить ошибку?

   meps

5 — 06.09.06 — 12:20

не получиться, надо именно не выводить

   Рупор2

6 — 06.09.06 — 12:21

(5) Что за ошибка?

   Simod

7 — 06.09.06 — 12:23

(5) LOL

   Ariets

8 — 06.09.06 — 12:25

(5) :))

если не получается, то еще окно сообщений можно за пределы экрана затянуть :))

   benjaminF

9 — 06.09.06 — 12:25

(5) это как?

используй (1)

   Config1C

10 — 06.09.06 — 12:29

(3)

Попытка

   //Текст твоей ошибки :-)

Исключение

   //Обработка исключения

КонецПопытки;

В итоге у тебя не будет выводиться ошибка, а будет срабатывать код после исключения. Тот код, что написал попробуй. Просто сначала выведи в окно сообщений какой нибудь текст, а потом запусти на выполнение.

   Config1C

11 — 06.09.06 — 12:30

(0) А вообще попробуй ошибку исправить. Или нельзя? ;-)

   а лю 427

12 — 06.09.06 — 12:33

выдаваемые из конфы — можно перехватить

выдаваемые из платформы — нельзя, но можно обойти через Попытку

   meps

13 — 06.09.06 — 12:34

да мне эта ошибка не влияеет на работу обработки,

все правильно работает, просто бесит это окно с непонятно почему выскакиваемой ошибкой,

   Конь в пальто

14 — 06.09.06 — 12:34

текст ошибки покажи )

   benjaminF

15 — 06.09.06 — 12:34

(13) что за ошибка?

   Config1C

16 — 06.09.06 — 12:35

(13) А что за ошибка?

   benjaminF

17 — 06.09.06 — 12:35

ггг

   meps

18 — 06.09.06 — 12:36

стандртная что поле объекта не представляет агрегатного состояния

   Конь в пальто

19 — 06.09.06 — 12:36

хе… текст покаж

   asady

20 — 06.09.06 — 12:37

(18) перешло в жидкую фазу?

   benjaminF

21 — 06.09.06 — 12:37

полностью ошибку

   Config1C

22 — 06.09.06 — 12:37

Код и текст ошибки

   Рупор2

23 — 06.09.06 — 12:37

(18) Эту ошибку можно исправить ..

   Advan

24 — 06.09.06 — 12:38

:)))

   meps

25 — 06.09.06 — 12:38

Значение не представляет агрегатный объект (НомерДок)

НомерДок вызывается из гл модуля прямиком в диалоге,

и причем номер документа выводится правильно

   Конь в пальто

26 — 06.09.06 — 12:39

код давай

   Config1C

27 — 06.09.06 — 12:41

(25) Ау!!! Код не можешь найти?

   meps

28 — 06.09.06 — 12:42

да не интерсует меня эта ошибка вообще я уже все сделал без всяких ошибок,

меня интересовал вопрос о том как не выводить окно сообщений, раньше никогда не сталкивался

   orefkov

29 — 06.09.06 — 12:43

   Конь в пальто

30 — 06.09.06 — 12:43

(28) код гони

   benjaminF

31 — 06.09.06 — 12:44

(28) так вот и рушется целостность бд

   Config1C

32 — 06.09.06 — 12:45

(28) Тебе тяжело код написать?

   orefkov

33 — 06.09.06 — 12:47

Скорее всего ошибка в формуле таблицы?

   meps

34 — 06.09.06 — 12:49

короче ошибки нет, куда код она прописывает не знаю просто, чтобы глянуть, переделал по другому,

вообще никакой таблицы не было, ошибка выскакивает при обращении к диалогу

   benjaminF

35 — 06.09.06 — 12:50

чо?

   Рупор2

36 — 06.09.06 — 12:51

(34) Что ты подразумеваешь под «обращением к диалогу»?

   meps

37 — 06.09.06 — 12:51

в диалоге был текст, в тексте формула, в формуле НомерДок

   Рупор2

38 — 06.09.06 — 12:52

(37) Эту ошибку можно исправить …

  

meps

39 — 06.09.06 — 12:54

открытие формы, нажатие на кнопку

  1. Всем привет!

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

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


  2. alexburn

    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

  3. Если можно, чуть подробнее. В каком месте использовать попытку и что в ней пытаться сделать? Я же не программно провожу, а стандартными средствами.


  4. alexburn

    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Если кодить не умеете, лучше не лезьте, да и мой вам совет, не нужно переделывать штатный функционал, потом при обновлении замучаетесь. Это ваша «хотелка» ничего не значит для бизнес-логики, так что оставьте эту затею.


  5. shurikvz

    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    TylerDurdenIII
    в суть не вдумывался. Пока вопросы:
    1) почему вы это делаете (проверку) именно в обработке проведения документа? Почему например нельзя сделать это раньше, например перед записью документа?
    2) всю задачу не знаю, это зависит уже от нее, поэтому может быть не актуально, но: судя по первому посту подразумевается что это проведение ваше запускает пользователь, и ему выводится какое-то сообщение. В итоге: вашу проверку действительно в модуле объекта надо делать, или же допустимо вообще убрать ее в модуль формы?

  6. 1) Если делать в процедуре ПередЗаписью также придется ставить Отказ=Истина, который приведет к сообщению «Не удалось провести [название документа]».
    2) Если в форму поместить код, то не отработает при проведении из списка.


  7. alexburn

    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Главный вопрос — для чего это ????
    Это влияет на бизнес-логику ?
    Это влияет на скорость работы ИБ ?
    Это влияет на оперативность ?
    На что это влияет ????

  8. Есть такие люди, которые хотят и все тут. Мешает им видите ли лишнее отвлекающее от основного сообщение. Буду убеждать, что не надо это, просто уже интересно как же можно это сделать если это возможно.


  9. shurikvz

    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    2) Понял. Принимается.
    1) ПередЗаписью() использовать в любом случае лучше, не будет лишних расчетов, выполняемых в процедуре проведения

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


  10. shurikvz

    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    Ну ок.
    Смотрите, я не знаю как вы выводите ваше сообщение (Предупреждение())? Т.е. модальным окном что-ли, что у вас два она появляется?
    Если так, то рекомендуемый мной вариант: сделать точно также как реализовано стандартно. Т.е. выводите причину ошибки при помощи «ОбщегоНазначения.СообщитьОбОшибке()», она появляется внизу экрана в окне сообщений, и на экране это ваше системное окно о том что невозможно провести (записать) документ.
    Если же упорно так не хотите, ну единственный вариант который я знаю: вызовите собственное исключение в процедуре проведения (ВызватьИсключение <Текст>).

  11. В данный момент все как вы и описали — служебное сообщение выскакивает, а мое сообщение внизу экрана. Клиент упорно хочет одно сообщение.
    Есть ли подводные камни у вызова исключения из проведения? Не делает ли платформа еще чего важного кроме вывода сообщения при отказе?


  12. shurikvz

    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    Да нет. Чего она важного может делать? Вызываете исключение — транзакция записи прерывается.

Похожие темы

  1. Vertex
    Ответов:
    12
    Просмотров:
    1.235


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

greenLiss
22.09.2015 10:45 Прочитано: 8365

База УТ11, но это не важно. Платформа 8.3

Есть документы, которые нельзя провести из-за не правильного заполнения, и это логично, так и должно быть.

Правильно или не правильно, определяется в обработке проверки заполнения.

Но вот в чём проблема, если пытаться провести из формы документа(когда Отказ = Истина), то будут появляться сообщения только те, которые прописаны в коде конфигурации(это хорошо), а вот если попытаться провести из формы списка документов, то будет появляться сообщение типа:»При проверке заполненности данных произошли ошибки», и на каждый такой документ, придется нажимать «ОК».

Как можно обойти этот механизм, что бы пользователям не нужно было нажимать «ОК»?

Заранее, спасибо.

Yandex
Возможно, вас также заинтересует

Реклама на портале

IBReiter
22.09.2015 14:40 Ответ № 1

А документ должен проверятся или нет?

greenLiss
22.09.2015 15:11 Ответ № 2

Да, что бы работало так же, как и всегда, но без этого сообщения )Вы думали на счет стандартного инструмента «ПроведениеДокументов»? Если да, но это не подходит, к сожалению…

EMigachev
22.09.2015 15:59 Ответ № 3

если выдается сообщение — значит в документе не все правильно! — надо же исправить проблему

или вам все-равно как проводится!?

greenLiss
23.09.2015 15:59 Ответ № 4

Да я же не против того, что не проводится… Проблема в самом сообщении, вот нужно пользователю провести 20 документов, он в списке их выделил, нажал «Провести», а там 10 ошибок (которые и так видно в окне сообщений), и он должен еще 10 раз нажать на «ОК». Зачем? Вот именно это и нужно убрать… Просто что бы не выдавалось терминирующее сообщение, с кнопкой «Ок», всё, что нужно, пользователь видит в обычных сообщениях…

IBReiter
23.09.2015 16:49 Ответ № 5

Тогда код нужно исправлять, другого варианта не вижу

greenLiss
24.09.2015 11:48 Ответ № 6

Конфига изменена, так что, проблемы изменения кода нет. Но где его менять??? 

Для примера: создаю новую конфигу, добавляю документ, в модуле объекта делаю только одну проц. «ОбработкаПроверкиЗаполнения» и пишу одну строку Отказ = Истина; И этого достаточно, что бы выходило сообщение при проведении из списка… 

EMigachev
24.09.2015 13:07 Ответ № 7

Нужно понять каким образом выводится это предупреждение:

1. Это механизм платформы — проверка заполнения реквизита:

2. это написано в коде

Проверить можно отладчиком и отключить это механизм проверки

greenLiss
24.09.2015 18:09 Ответ № 8

В ответе №6, можно понять, что это механизм платформы, сообщение выдаётся, когда Отказ в стандартных проц. равен истине. 

Но что делать дальше? 

Отказ = истине, когда что-то не правильно, и так должно быть (Иначе бы воспользовался стандартной «Проведение документов»)…

EMigachev
24.09.2015 23:16 Ответ № 9

отключите проверку на реквизиты по которым ругается

greenLiss
28.09.2015 11:52 Ответ № 10

Кроме проверки реквизитов происходит еще куча дополнительных проверок, которые обязательны… Отключение части проверок — не вариант. Нужно только отключить сообщение при отказе, но сам отказ должен остаться… Я так понимаю, что на данный момент, это не возможно. Напишу письмо в 1С, вдруг… 

IBReiter
28.09.2015 12:58 Ответ № 11

Попробуйте, действительно, вдруг…;)

rudnitskij
08.08.2017 16:31 Ответ № 12

Можно попробовать использовать команду ВОЗВРАТ при невыполнении условия проверки, без использования команды ОТКАЗ.

Чтоб документ не проводился — вам всего лишь нужно не выполнить процедуру ОбработкаПроведения до конца, прервать ее в нужном вам месте. Значение флажка ОТКАЗ на это никак не влияет

Подсказка:Вы можете добавить любую страничку в Социальные закладки щелкнув по значку соцсетей (в вверху)

Окно служебных сообщений (или Область служебных сообщений) — это специально предназначенное поле, в котором 1С Бухгалтерия 8 информирует пользователя об ошибках при проведении документов, а также сообщает другую полезную информацию. Выглядит оно в по-разному в зависимости от версии 1С Предприятия.

Для 1С Бухгалтерии 8.2 это поле внизу окна программы. Выглядит вот так.

Окно ошибок 1С:Предприятие

[нажмите на картинку для увеличения]

Справка: как сохранять фото с сайтов

В приведенном примере была попытка списать со склада больше материалов, чем там есть. В результате документ не провелся. При этом появилось два сообщения. Одно (вверху) — это стандартное окно сообщений, как и в любой другой программе Windows. А вот второе (внизу) характерно для 1С Бухгалтерии 8.2 и это и есть то самое служебное окно.

В данном случае там указана причина ошибки, то есть почему не проводится документ. При появлении такого окна следует изучить информационные сообщения 1С Бухгалтерии — это поможет найти и исправить ошибку.

Запомните: ошибок может появиться больше, чем одна. В таком случае рекомендуется просматривать и исправлять их начиная с самой первой (в верхней части окна). Причина этого в том, что одни ошибки могут являться следствием других, более ранних. Такой приём порой помогает сэкономить много времени на поиске несуществующих (почему?) ошибок, особенно если ошибки сложные.

Другая особенность работы с этим окном в том, что оно не очищается автоматически. Поэтому, чтобы не путать новые ошибки со старыми, рекомендуется вручную очищать окно или просто его закрывать (после того, как всё исправили!).

И наконец, третье. Некоторые пользователи воспринимают данное окно сообщений как некоторую неприятность, которую подкидывает им 1С Бухгалтерия. При этом они просто или не глядя закрывают это окно, либо минимизируют его, поскольку «оно уже надоело появляться«. Надо ли говорить, что такие пользователи потом очень долго ищут сделанную ошибку!

Чтобы не совершать ошибки в учёте, хорошо изучите 1С:Бухгалтерию 8.3 по нашему специальному видеокурсу! С примерами уроков Вы можете познакомиться здесь (всего 240 уроков, 42 часа видео).

А как обстоят дела в 1С Бухгалтерии 8.3?

В версии Бухгалтерии Предприятия, построенной на платформе 8.3, окно, о котором речь шла выше, выглядит несколько по иному. Из-за различий в интерфейсе сообщения об ошибках в 1С Бухгалтерии 8.3 появляются непосредственно как часть того окна (или вкладки), которое эту ошибку вызывает. Вот пример.

Окно ошибок 1С:Предприятие

[нажмите на картинку для увеличения]

Справка: как сохранять фото с сайтов

В любом случае порядок действий при работе с сообщениями об ошибках остаётся тот же самый.

Подведём итоги

Если при проведении документа 1С Бухгалтерия выдаёт ошибку, то следует внимательно изучить, что именно там написано. Это поможет локализовать ошибку и устранить её.

Подробно ошибки, возникающие при проведении различного типа документов, я рассматриваю в полном курсе по 1С Бухгалтерии 8.

Ещё раз напомню вам — поиск и исправление ошибок (не только текущих, но и при закрытии месяца) представляет собой отдельную задачу, с которой хорошо справляются далеко не все пользователи 1С Бухгалтерии. Вводить документы относительно просто, а вот найти и исправить ошибку — совсем другое дело. Для примера прочитайте статью про закрытие месяца.

Ведите учёт аккуратно!

Уникальная метка публикации: A36C6384-BFA0-DC74-E74F-53BB42BD3C40
Источник: //artemvm.info/information/uchebnye-stati/1s-predpriyatie/ispolzovanie-okna-soobschenii/

Содержание

Механизмы оповещения пользователя

Механизмы сообщений в 1С, делятся на два типа: те которые останавливают работу программы, ожидая реакции пользователя и те, которые просто выводят сообщение на экран во время выполнения.

Операторы не останавливающие выполнение

Сообщить

Функция сообщить выводит текст сообщения в табло, снабжая его значком статуса. Синтаксис выглядит следующим образом:

Сообщить(«Текст сообщения», СтатусСообщения) 

В концепции управляемых форм, окошко для вывода сообщений привязано к форме, откуда было вызвано, в связи с этим оно закрыто вместе с формой.
Более удобным методом оповещения пользователя является метод ПоказатьОповещениеПользователя() в нем можно указать навигационную ссылку на определенный объект, какое то пояснение и определенную картинку.
Сами оповещения сохраняются в истории оповещений. Для того, что бы указать навигационную ссылку, необходимо воспользоваться методом ПолучитьНавигационнуюСсылку(СсылкаНаОбъект). Например:

НужнаяСсылка = Справочники.Сотрудники.НайтиПоНаименованию(«Петров»);
НавСсылка = ПолучитьНавигационнуюСсылку(НужнаяСсылка);
ПоказатьОповещениеПользователя(«Загловок», НавСсылка, «ТекстСсылка»);

СообщениеПользователю

СообщениеПользователю служит для оповещения пользователя об ошибках заполнения формы. В этой команде есть возможность указать на ошибочно заполненное поле и дать какой то комментарий пользователю. Работает оно следующим образом:

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Контрагент должен быть указан";
Сообщение.Поле = "ПолеНаФорме";
Сообщение.Сообщить();

Операторы ожидающие реакции пользователя

Предупреждение

Предупреждение выводит модальное окно(блокирует все остальные окна) с заданным текстом и одной единственной кнопкой ОК. Задача предупреждения получить подтверждение от пользователя, о том что он информацию получил. Синтаксис очень простой:

Предупреждение("какой то текст");

Вопрос

Команада Вопрос предназначена для получения какого то ответа от пользователя. Эта команда так же выводит модальное окно, но список кнопок можно определить самостоятельно. Для того, что бы это сделать нужно передать набор набор кнопок которые вы хотите видеть в диалоге вторым параметром. Это могут быть:

  1. Значения системного перечисления РежимДиалогаВопрос

    1. Да + Нет

    2. Да + Нет + Отмена

    3. ОК

    4. ОК + Отмена

    5. Повторить + Отмена

    6. Прервать + Повторить + Пропустить

  2. Список значений. В этом случае значение списка будет выступать идентификатором нажатой кнопки, а представление текстом кнопки в диалоге.

Синтаксис следующий:

Если Вопрос("Какой то вопрос", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
	//Какие то действия
КонецЕсли;

Следует заметить, что методы Предупреждение и Вопрос подразумевают вывод диалоговых окон и как следствие недоступны на сервере.


Ссылки

Понравилась статья? Поделить с друзьями:
  • Не выводить ошибки php mysql
  • Не выбрано объектов автокад ошибка
  • Не восстанавливает ipad ошибка 3194
  • Не восстанавливает ipad ошибка 2009
  • Не воспроизводится музыка на компьютере ошибка приложения сервера