Как узнать ошибку проведения документа
Автор Sinsinmin, 06 мая 2011, 09:32
0 Пользователей и 1 гость просматривают эту тему.
программно пишу следующее
ЦитироватьПопытка
ТекстОшибки = «»;
ДокКадрПерем.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Исключение
ТекстОшибки = ОписаниеОшибки();
ЗаписьОшибки(ТекстОшибки);
ДокКадрПерем.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
Но получается что многие документы проводятся с противоречиями. Таким образом выполнение не заходит в исключение проведения. Каким образом можно узнать ошибку проведения документа?
Ошибки проведения обрабатываются в ОбработкеПроведения() документа и выводятся обычным Сообщить()…
- 1 пользователь сказал спасибо!
Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.
Это код внешней обработки.
И мне нужно передать эти ошибки в текстовый документ, для логирования ошибок внешней обработки.
Ну а чем существубщий код не подходит?
Если ты имеешь ввиду мой код, то он выдаёт ошибку только при исключении. Тобишь когда проведение документа невозможно. А хотелось бы узнать ошибки при проведении документа.
Хм, а какие ошибки возможны при нормальном проведении документа? Документ либо провелся (ошибок нет), либо не провелся (ошибки есть). Или я не так понял?
Аааа, кажется вкурил. Ты имеешь ввиду ошибки, которые не отменяют при этом проведения документа?
В ОбработкеПроведения() там где сообщаете об ошибке через Сообщить() надо добавить код, который будет помещать ошибки еще куда нибудь, например в РегистрСведений…
Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.
нельзя трогать код программы. Всё с помощью внешней обработки. Также нельзя делать регистры. Текстовый документ самое то.
Как узнать ошибку проведения документа
Автор Sinsinmin, 06 мая 2011, 09:32
0 Пользователей и 1 гость просматривают эту тему.
программно пишу следующее
ЦитироватьПопытка
ТекстОшибки = «»;
ДокКадрПерем.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Исключение
ТекстОшибки = ОписаниеОшибки();
ЗаписьОшибки(ТекстОшибки);
ДокКадрПерем.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
Но получается что многие документы проводятся с противоречиями. Таким образом выполнение не заходит в исключение проведения. Каким образом можно узнать ошибку проведения документа?
Ошибки проведения обрабатываются в ОбработкеПроведения() документа и выводятся обычным Сообщить()…
- 1 пользователь сказал спасибо!
Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.
Это код внешней обработки.
И мне нужно передать эти ошибки в текстовый документ, для логирования ошибок внешней обработки.
Ну а чем существубщий код не подходит?
Если ты имеешь ввиду мой код, то он выдаёт ошибку только при исключении. Тобишь когда проведение документа невозможно. А хотелось бы узнать ошибки при проведении документа.
Хм, а какие ошибки возможны при нормальном проведении документа? Документ либо провелся (ошибок нет), либо не провелся (ошибки есть). Или я не так понял?
Аааа, кажется вкурил. Ты имеешь ввиду ошибки, которые не отменяют при этом проведения документа?
В ОбработкеПроведения() там где сообщаете об ошибке через Сообщить() надо добавить код, который будет помещать ошибки еще куда нибудь, например в РегистрСведений…
Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.
нельзя трогать код программы. Всё с помощью внешней обработки. Также нельзя делать регистры. Текстовый документ самое то.
|
|||
| VigerV
17.09.12 — 18:16 |
Как программно получить ошибку при проведении документа, т.е. допустим программное проведение ряда документов и программное получение(подробное) , не строчку кода, а например «Не списано по партиям…». Все это выполняется в регламентном задании. ОписаниеОшибки() дает только номер строчки кода. |
||
| Wobland
1 — 17.09.12 — 18:18 |
лог пиши |
||
| Wobland
2 — 17.09.12 — 18:19 |
+(1) я про штатный вывод Сообщить в файл |
||
| vmv
3 — 17.09.12 — 18:19 |
в критичные методы добавь параметр СтрокаСообщенияОбОшибке и накапливай эти НЕ пустые строки в контейнер — по другому хренушки |
||
| undertaker
4 — 17.09.12 — 18:20 |
в журнал регистрации можно |
||
| VigerV
5 — 17.09.12 — 18:25 |
Это и пишется в лог регламентного задания который после отсылается на мыло. Но ОписаниеОшибки() выдает не ту инфу. |
||
| VigerV
6 — 17.09.12 — 18:25 |
(3) не совсем понял что ты имел в виду под «в критичные методы добавь параметр СтрокаСообщенияОбОшибке» |
||
| shuhard
7 — 17.09.12 — 18:27 |
(5)я использую запуск обработки с ключиком /OutC:Robotdel_log.log -NoTruncate и файлик к письму присоединяю |
||
| undertaker
8 — 17.09.12 — 18:27 |
(5) а ОписаниеОшибки() и не выдаст тебе что «Не списано по партиям» |
||
| Wobland
9 — 17.09.12 — 18:28 |
+(2) *про штатное перенаправление вывода окно сообщений -> файл |
||
| Wobland
10 — 17.09.12 — 18:28 |
(7) вот оно |
||
| VigerV
11 — 17.09.12 — 18:51 |
В файл выводить нельзя, не из-за 1с а изза особенностей сервера, можно ли выводить куда-то внутри самой 1С? |
||
| unregistered
12 — 17.09.12 — 18:53 |
(11) Что за особенность такая?… |
||
| undertaker
13 — 17.09.12 — 18:53 |
(11) см. (4) |
||
| unregistered
14 — 17.09.12 — 19:00 |
(13) (4) Как? |
||
| undertaker
15 — 17.09.12 — 22:37 |
(14) ЗаписьЖурналаРегистрации("Имя события", УровеньЖурналаРегистрации.Ошибка, , , "Текст ошибки") потом по событию можно фильтры накладывать или выгружать ЖР и програмно обрабатывать |
||
| rs_trade
16 — 17.09.12 — 23:00 |
(12) он просто не знает как. вот и вся особенность. |
||
| unregistered
17 — 18.09.12 — 08:51 |
(15) Это и ёжику понятно. Я думал ты знаешь метод не связанный с изменениями конфигурации. Ты предлагаешь автору по быстренькому добавить во всю конфу в те места, где используется Сообщаить() при проведении воткнуть функцию записи в журнал. В лучшем случае всё ограничиться процедурой общего модуля ОбщегоНазначения.ОшибкаПриПроведении (в разных конфах может называться по разному). А если этого окажется мало? |
||
| shuhard
18 — 18.09.12 — 08:52 |
(17) в типовой УПП это сделано на уровне константы =) |
||
| unregistered
19 — 18.09.12 — 09:08 |
(18) Прикольно. Я с УПП не работаю, а потому не знал. |
||
|
shuhard 20 — 18.09.12 — 09:10 |
(19) кругозор расширил |
![]() |
|
Ошибка? Это не ошибка, это системная функция. |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Как в ЗУП 3.1 можно посмотреть описание ошибки? Например, когда не проводится документ Начисление зарплаты и взносов.
В ЗУП 3.1 есть 3 способа посмотреть описание ошибки:
- Непосредственно в самом документе, при проведении / записи которого выдается ошибка.
- В Журнале регистрации (Администрирование — Обслуживание — Журнал регистрации).
- Сформировать отчет об ошибке для отправки в 1С и посмотреть описание во вложенном файле отчета – способ доступен для ошибок с типом Возникла непредвиденная ситуация.
При появлении ошибки в документе, можно анализировать текст самого сообщения о проблеме.
Также текст ошибки можно увидеть в Журнале регистрации. Для этого в поле Критичность выберем значение Ошибка.
В настройках отбора можно убрать фильтр по периоду.
Подробный текст ошибки можно открыть двойным щелчком левой кнопки мыши по ее описанию.
При возникновении ошибки, связанной с непредвиденной ситуацией, для анализа проблемы можно воспользоваться ссылкой Сформировать отчет об ошибке.
В открывшейся форме по ссылке Подробный текст ошибки можно будет увидеть описание проблемы.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Оцените публикацию
Загрузка…
Назад к статье
Отчеты, документы, обработки
Назад к статье
Новости и изменения
Назад к статье
Дополнительные материалы
Назад к статье
Топ-вопросов
Последовательность событий при записи нового документа из формы документа

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

Заливкой выделены события, выполняющиеся в транзакции записи.
Последовательность событий при отмене проведения документа из формы документа

Заливкой выделены события, выполняющиеся в транзакции записи.
Обработчики событий
ПередЗаписью(Отказ, ПараметрыЗаписи) // модуль формы клиент
Расширение управляемой формы для документа. Возникает на клиенте перед выполнением записи объекта из формы. Процедура-обработчик данного события вызывается перед вызовом процедуры-обработчика события ПередЗаписью.
Отказ, типБулево. Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значениеИстина, запись выполнена не будет и будет вызвано исключение. Значение по умолчанию:Ложь.ПараметрыЗаписи, типСтруктура. Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра —РежимЗаписииРежимПроведения. Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения». ПараметрРежимПроведенияможет отсутствовать, если режим проведения в документе не определен.
Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) // модуль формы сервер
Расширение управляемой формы для документа. Вызывается перед записью объекта на сервере. Можно отменить запись. Выполняется вне транзакции.
Отказ, типБулево. Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значениеИстина, запись выполнена не будет и будет вызвано исключение. Значение по умолчанию:Ложь.ТекущийОбъект, типДокументОбъект.ИмяДокумента. Записываемый объект.ПараметрыЗаписи, типСтруктура. Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра —РежимЗаписииРежимПроведения. Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
ДокументОбъект.ИмяДокумента.ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) // модуль объекта сервер
Возникает перед выполнением записи объекта. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа.
Отказ, типБулево. Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значениеИстина, то запись выполнена не будет и будет вызвано исключение. Значение по умолчанию:Ложь.РежимЗаписи, типРежимЗаписиДокумента. В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи.РежимПроведения, типРежимПроведенияДокумента. В данный параметр передается текущий режим проведения. Изменение значения параметра позволяет изменить режим проведения.
ДокументОбъект.ИмяДокумента.ПриЗаписи(Отказ) // модуль объекта сервер
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
Отказ, типБулево. Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значениеИстина, то запись документа выполнена не будет. Значение по умолчанию:Ложь.
ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) // модуль формы сервер
Расширение управляемой формы для документа. Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.
Отказ, типБулево. Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значениеИстина, то запись произведена не будет. Значение по умолчанию:Ложь.ТекущийОбъект, типДокументОбъект.ИмяДокумента. Записываемый документ.ПараметрыЗаписи, типСтруктура. Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра —РежимЗаписииРежимПроведения. Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) // модуль формы сервер
Расширение управляемой формы для документа. Вызывается после записи объекта на сервере и после завершения транзакции.
ТекущийОбъект, типДокументОбъект.ИмяДокумента. Записываемый объект.ПараметрыЗаписи, типСтруктура. Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра —РежимЗаписииРежимПроведения. Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
ПослеЗаписи(ПараметрыЗаписи) // модуль формы клиент
Расширение управляемой формы для документа. Возникает на сервере после записи объекта и после окончания транзакции записи, то есть к моменту вызова этой процедуры запись объекта полностью завершена.
ПараметрыЗаписи, типСтруктура. Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра —РежимЗаписииРежимПроведения. Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
Поиск:
1С:Предприятие • Документ • Перед записью • Перед записью на сервере • После записи • После записи на сервере • При записи • При записи на сервере • Событие
Добрый день! При проведении документа осуществленна проверка, в случае проведения документа из формы и наличию ошибок при проведении необходимо отобразить подробный список ошибок, механизм СообщитьПользователю не подходит для этого. Подскажите, как лучше передать результат выполнения на клиентскую часть? Погуглил — рекомендуют разместить результат в параметрах сеанса и т.д., но мне это кажется диким, что лучше сделать?
не, не подходит такой вариант Нужна специализированная форма в которой будет в иерархическом виде отображаться ошибки, предлагаться расшифровки и горячие кнопки для исправления… необходимо где то сохранить результат, чтобы потом его вывести в отдельной форме «для ошибок», либо на форме документа отобразить элемент, по нажатию на который будет выведена форма «для ошибок».
почему с этим не справиться регистр сведений?
при откате транзакции, он тоже откатывается.
Чем временное хранилище не подходит?
пока решил сделать именно через временное хранилище, остался вопрос только с тем как кинуть адресом временного хранилища в форму и в составке данных, которые кидаю…
+100500 — почему то все советуют сделать именно через справочник
ТЗ/ДЗ, что может быть проще?
так то эти данные не отображаются клиенте+кидаться с сервером ДЗ вообще нельзя.
Самый хороший способ — через доп.данные объекта-документа. Добавить в доп.данные таблицу значений, в форме должно быть событие, которое происходит после записи о объекта и в котором доступен сам объект, т.е. не произошла еще конвертация в реквизит формы. там и прочитать доп.параметры, заполнив реквизит формы — таблицу значений с сообщениями, ну а дальше можно делать с ней что угодно. Сейчас под рукой нет 1с, проверить это не могу, но я бы действовал примерно так
— если транзакция откатывается — события такого нет. И вообще с доп. свойствами можно работать на форме перед записью на сервере, после записи у тек. объекта их уже нет — там другой экземпляр. Хотя если такой способ рабочий, то может с ним стоит еще покопаться. Я пока решил эту проблему по другому, но хочу вернуться к ней и сделать правильно.
Что бы проверить, что он рабочий — нужно в конфигураторе посидеть. Но у формы документа, если я не ошибаюсь, есть событие, в котором доступен объект, не реквизит формы Объект, а именно тот объект, который был записан и он должен передаваться в параметре события. Но, конечно, я могу ошибаться. Проверить смогу только на следующей неделе -сейчас в отпуске
а если его персонально в транзакцию обернуть?
в 1с нет автономных транзакций. Все, что выполняется в рамках транзакции, например, запись, является одной транзакцией и будет откачено при роллбеке. Как вариант, если использовать временное хранилище — можно использовать guid самого объекта. Затем на форме получить значение из временного хранилища по этому guid-у. Это не очень хорошее решение, но рабочее.
Объект.ДополнительныеСвойства — это структура которая существует пока существует сам объект, сувай туда.
Я тут поигрался, и вроде как в случае отказа поведения, никакой обработчик формы не вызывается. Поэтому видится вариант делать свою кнопку проведения в которой получать объект, проводить, и ловить ошибки в ДополнительныеСвойства.
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Если при исполнении программы происходит ошибка, то 1С сообщает о ней пользователю.
Сообщение обычно производится в окне с красным крестом, откуда такие сообщения называют «поймать красный крест» или «не работает, есть красные ошибки».
Конструкция 1С Попытка-Исключение служит для обработки возможных ошибочных ситуаций.
Хорошим тоном считается обрабатывать ошибки с помощью конструкции 1С Попытка-Исключение, то есть предусматривать места, где они могут произойти и ставить обработчик, который запишет ошибку «в сообщения администратору», а пользователю или сообщит корректно или найдет способ отработать по-другому.
Переменная1 = "22";
Попытка
//код, который может вызвать ошибку
ЧислоСтрокой = Число(Переменная1);
Исключение
ТекстОшибки = ОписаниеОшибки();
КонецПопытки
Код, в котором может произойти ошибка, обрамляется оператором 1С Попытка-Исключение.
В случае, если ошибка происходит, срабатывает выполнение кода между Исключение и КонецПопытки. Если ошибка не происходит, тот код между Исключение и КонецПопытки не выполняется.
Чтобы получить расшифровку ошибки, необходимо получить текст ошибки с помощью функции ОписаниеОшибки() сразу после слова Исключение.
Также существует функция ИнформацияОбОшибке(), которую можно вызывать вместо ОписаниеОшибки(). Разница в том, что она возвращает информацию в структурированном виде, а не строкой.
Структура, возвращаемая функцией ИнформацияОбОшибке():
Проголосовать за этот пост:
Загрузка…
Posted in Язык 1С
Программное получение ошибки при проведении документа |
Я |
VigerV
17.09.12 — 18:16
Как программно получить ошибку при проведении документа, т.е. допустим программное проведение ряда документов и программное получение(подробное) , не строчку кода, а например «Не списано по партиям…». Все это выполняется в регламентном задании. ОписаниеОшибки() дает только номер строчки кода.
Wobland
1 — 17.09.12 — 18:18
лог пиши
Wobland
2 — 17.09.12 — 18:19
+(1) я про штатный вывод Сообщить в файл
vmv
3 — 17.09.12 — 18:19
в критичные методы добавь параметр СтрокаСообщенияОбОшибке и накапливай эти НЕ пустые строки в контейнер — по другому хренушки
undertaker
4 — 17.09.12 — 18:20
в журнал регистрации можно
VigerV
5 — 17.09.12 — 18:25
Это и пишется в лог регламентного задания который после отсылается на мыло. Но ОписаниеОшибки() выдает не ту инфу.
VigerV
6 — 17.09.12 — 18:25
(3) не совсем понял что ты имел в виду под «в критичные методы добавь параметр СтрокаСообщенияОбОшибке»
shuhard
7 — 17.09.12 — 18:27
(5)я использую запуск обработки с ключиком /OutC:Robotdel_log.log -NoTruncate
и файлик к письму присоединяю
undertaker
8 — 17.09.12 — 18:27
(5) а ОписаниеОшибки() и не выдаст тебе что «Не списано по партиям»
Wobland
9 — 17.09.12 — 18:28
+(2) *про штатное перенаправление вывода окно сообщений -> файл
Wobland
10 — 17.09.12 — 18:28
(7) вот оно
VigerV
11 — 17.09.12 — 18:51
В файл выводить нельзя, не из-за 1с а изза особенностей сервера, можно ли выводить куда-то внутри самой 1С?
unregistered
12 — 17.09.12 — 18:53
(11) Что за особенность такая?…
undertaker
13 — 17.09.12 — 18:53
(11) см. (4)
unregistered
14 — 17.09.12 — 19:00
(13) (4) Как?
undertaker
15 — 17.09.12 — 22:37
(14) ЗаписьЖурналаРегистрации(«Имя события», УровеньЖурналаРегистрации.Ошибка, , , «Текст ошибки»)
потом по событию можно фильтры накладывать или выгружать ЖР и програмно обрабатывать
rs_trade
16 — 17.09.12 — 23:00
(12) он просто не знает как. вот и вся особенность.
unregistered
17 — 18.09.12 — 08:51
(15) Это и ёжику понятно. Я думал ты знаешь метод не связанный с изменениями конфигурации.
Ты предлагаешь автору по быстренькому добавить во всю конфу в те места, где используется Сообщаить() при проведении воткнуть функцию записи в журнал.
В лучшем случае всё ограничиться процедурой общего модуля ОбщегоНазначения.ОшибкаПриПроведении (в разных конфах может называться по разному). А если этого окажется мало?
shuhard
18 — 18.09.12 — 08:52
(17) в типовой УПП это сделано на уровне константы =)
unregistered
19 — 18.09.12 — 09:08
(18) Прикольно. Я с УПП не работаю, а потому не знал.
shuhard
20 — 18.09.12 — 09:10
(19) кругозор расширил
Содержание:
1. Обработка исключительной ситуации
2. Совершаем ошибку в 1С 8.3
3. А что еще можно делать с результатом попытки?
4. А ваши транзакции то здесь при чём?
1. Обработка исключительной ситуации
— Приветствую, Амиго! Ты, как я понял, пришёл на мою лекцию по физическим основам изготовления термитных пирамидок для заряда аппаратов гиперболоидной конструкции? Нет? А зачем тогда?

— Здравствуйте, профессор. Сегодня мы собирались разобрать конструкцию «Попытка-Исключение».
— А… Это… Ну, тогда вот:

— Кажется, понятно. А можно примеров добавить?
— Ох уж эти юные роботы, всегда хотят практики. С примерами это будет выглядеть вот так:

Ох, извини, это для старых баз. На новых космолётах с прошивкой выше 8.1 есть более удобный способ узнать код ошибки.
2. Совершаем ошибку в 1С 8.3
Ты и сам можешь попробовать. Главное – придумать ошибку в 1С 8.3. Самая простая ошибка – это разделить что-нибудь на нуль или на, как это говорят на современном сленге, ноль.

В ответ получим:

Нажимаем на кнопку «Подробно…» и видим: Деление на 0 {NudlsProff_Расширение.NudlsProff_ФормаОшибок.Форма(96)}: Результат = 1/0
Добавляем нашей красоты:

Теперь пользователю ВИДНО, что случилось. И ПОНЯТНО, что с этим делать.
Описание=’Деление на 0′
ИмяМодуля=’NudlsProff_Расширение.NudlsProff_ФормаОшибок.Форма’
НомерСтроки=99
ИсходнаяСтрока=’ Результат = 1 / 0;’
Позвоните Профессору Нудлсупо тел+7 (495) 125-23-77
и ознакомьтесь с теорией деления на ноль
https://elementy.ru/email/1530320/Pochemu_nelzya_delit_na_nol
3. А что еще можно делать с результатом попытки?
— А что ещё мы можем делать в результате с попыткой?
— Мы можем обработать попытку в попытке.

По своей сути Попытка-Исключение – это отлов исключительной ситуации. Ситуации, которая может произойти. Возможно, даже и не по вине юного робота. Робот же должен учесть все возможные ситуации при написании кода и обработать их. Но наш мир не идеален и даже программы не всегда работают идеально. Именно тогда мы и должны проанализировать возможные последствия и понять, что для нас важнее: чтобы код выполнился до конца или вызвать прерывание работы ошибочного кусочка кода, но дать пользователю исправить ситуацию и продолжить работу.

— Профессор, Вы опять забыли про примеры.
— Ах, да, конечно. Например, мы записывали файл на диск. Пользователь, конечно, выбрал папку для записи файла, но случайно удалил её во время работы программы. Вся наша программа рухнет из-за невнимательности.

Нельзя просто обернуть код в попытку и обезопасить себя от последствий. Также неправильно и маскировать ошибку общими фразами – дальнейший поиск и исправление этого бага вызовет уйму вопросов. Нужно показать максимально информативное сообщение пользователю, чтобы он передал его в службу поддержки. Всё-же, исключительная ситуация – это баг, который нужно исправлять.

4. А ваши транзакции то здесь при чем?
— То есть если в программе что-то может пойти не так, например, при записи файла на диск, обработке web-hook, работе с API, синхронизации с другими базами, записи изменений в справочник или документ, для безопасности я должен обернуть потенциально опасный кусочек кода в Попытку-Исключение, и тем самым пользователь сможет продолжить работу, а мы всегда будем знать, где именно и почему возникает ошибка?
— Да, Амиго, все верно! Кстати, поскольку уж речь зашла о записи объектов баз данных, очень важно не забывать правильно закрывать ваши транзакции:

Специалист компании «Кодерлайн»
Алексей Зятнин
Как в ЗУП 3.1 можно посмотреть описание ошибки? Например, когда не проводится документ Начисление зарплаты и взносов.
В ЗУП 3.1 есть 3 способа посмотреть описание ошибки:
- Непосредственно в самом документе, при проведении / записи которого выдается ошибка.
- В Журнале регистрации (Администрирование — Обслуживание — Журнал регистрации).
- Сформировать отчет об ошибке для отправки в 1С и посмотреть описание во вложенном файле отчета – способ доступен для ошибок с типом Возникла непредвиденная ситуация.
При появлении ошибки в документе, можно анализировать текст самого сообщения о проблеме.
Также текст ошибки можно увидеть в Журнале регистрации. Для этого в поле Критичность выберем значение Ошибка.
В настройках отбора можно убрать фильтр по периоду.
Подробный текст ошибки можно открыть двойным щелчком левой кнопки мыши по ее описанию.
При возникновении ошибки, связанной с непредвиденной ситуацией, для анализа проблемы можно воспользоваться ссылкой Сформировать отчет об ошибке.
В открывшейся форме по ссылке Подробный текст ошибки можно будет увидеть описание проблемы.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Оцените публикацию
(2 оценок, среднее: 5,00 из 5)
Загрузка…
Назад к статье
Отчеты, документы, обработки
Назад к статье
Новости и изменения
Назад к статье
Дополнительные материалы
Назад к статье
Топ-вопросов
VigerV
17.09.12
✎
18:16
Как программно получить ошибку при проведении документа, т.е. допустим программное проведение ряда документов и программное получение(подробное) , не строчку кода, а например «Не списано по партиям…». Все это выполняется в регламентном задании. ОписаниеОшибки() дает только номер строчки кода.
Wobland
17.09.12
✎
18:18
лог пиши
Wobland
17.09.12
✎
18:19
+(1) я про штатный вывод Сообщить в файл
vmv
17.09.12
✎
18:19
в критичные методы добавь параметр СтрокаСообщенияОбОшибке и накапливай эти НЕ пустые строки в контейнер — по другому хренушки
undertaker
17.09.12
✎
18:20
в журнал регистрации можно
VigerV
17.09.12
✎
18:25
Это и пишется в лог регламентного задания который после отсылается на мыло. Но ОписаниеОшибки() выдает не ту инфу.
VigerV
17.09.12
✎
18:25
(3) не совсем понял что ты имел в виду под «в критичные методы добавь параметр СтрокаСообщенияОбОшибке»
shuhard
17.09.12
✎
18:27
(5)я использую запуск обработки с ключиком /OutC:\Robot\del_log.log -NoTruncate
и файлик к письму присоединяю
undertaker
17.09.12
✎
18:27
(5) а ОписаниеОшибки() и не выдаст тебе что «Не списано по партиям»
Wobland
17.09.12
✎
18:28
+(2) *про штатное перенаправление вывода окно сообщений -> файл
Wobland
17.09.12
✎
18:28
(7) вот оно
VigerV
17.09.12
✎
18:51
В файл выводить нельзя, не из-за 1с а изза особенностей сервера, можно ли выводить куда-то внутри самой 1С?
unregistered
17.09.12
✎
18:53
(11) Что за особенность такая?…
undertaker
17.09.12
✎
18:53
(11) см. (4)
unregistered
17.09.12
✎
19:00
(13) (4) Как?
undertaker
17.09.12
✎
22:37
(14) ЗаписьЖурналаРегистрации(«Имя события», УровеньЖурналаРегистрации.Ошибка, , , «Текст ошибки»)
потом по событию можно фильтры накладывать или выгружать ЖР и програмно обрабатывать
rs_trade
17.09.12
✎
23:00
(12) он просто не знает как. вот и вся особенность.
unregistered
18.09.12
✎
08:51
(15) Это и ёжику понятно. Я думал ты знаешь метод не связанный с изменениями конфигурации.
Ты предлагаешь автору по быстренькому добавить во всю конфу в те места, где используется Сообщаить() при проведении воткнуть функцию записи в журнал.
В лучшем случае всё ограничиться процедурой общего модуля ОбщегоНазначения.ОшибкаПриПроведении (в разных конфах может называться по разному). А если этого окажется мало?
shuhard
18.09.12
✎
08:52
(17) в типовой УПП это сделано на уровне константы =)
unregistered
18.09.12
✎
09:08
(18) Прикольно. Я с УПП не работаю, а потому не знал.
shuhard
18.09.12
✎
09:10
(19) кругозор расширил
|
2 / 2 / 1 Регистрация: 22.06.2012 Сообщений: 244 |
|
|
1 |
|
|
1C 8.x (тонкий) Как уведомить пользователя об ошибках при проведении? (Управляемые формы)08.12.2014, 11:15. Показов 9053. Ответов 10
Допустим при проведении выяснилось, что каких-то исходных данных не хватает для правильного проведения, например отсутствуют цены номенклатуры по таким-то товарам. Надо уведомить так или иначе юзера, что именно по таким-то позициям данных нет. Вопрос, как? (Ну кроме, «Сообщить()»)
0 |
|
211 / 204 / 15 Регистрация: 29.05.2014 Сообщений: 1,056 |
|
|
08.12.2014, 11:19 |
2 |
|
Типовые что по этому поводу говорят?
0 |
|
2 / 2 / 1 Регистрация: 22.06.2012 Сообщений: 244 |
|
|
08.12.2014, 11:26 [ТС] |
3 |
|
Типовые что по этому поводу говорят? Что-то может и говорят, но скорее там реализуется такое просто через запрет так или иначе проводить до ввода всех нужных данных, которые подтягиваются еще при генерации формы. А мне хочется облегчить клиента максимально, не отправлять ему никаких избыточных данных.
0 |
|
211 / 204 / 15 Регистрация: 29.05.2014 Сообщений: 1,056 |
|
|
08.12.2014, 11:42 |
4 |
|
Давайте, вы сперва посмотрите как это сделано в типовых (УТ 11), а затем будете делать предположения.
0 |
|
2 / 2 / 1 Регистрация: 22.06.2012 Сообщений: 244 |
|
|
08.12.2014, 18:26 [ТС] |
5 |
|
Давайте, вы сперва посмотрите как это сделано в типовых (УТ 11), а затем будете делать предположения. Пыпытки разобраться в спагетях кода 1Совцев ни к чему не привели. Проверяются лишь заполнения. В общем как я и предполагал. Вопрос все еще актуален.
0 |
|
211 / 204 / 15 Регистрация: 29.05.2014 Сообщений: 1,056 |
|
|
08.12.2014, 18:34 |
6 |
|
Не по теме:
в спагетях кода 1Совцев а вы самоуверенны, молодой человек
в какой момент следует оповещать пользователя о невозможности проведения документа? Зависит от желаемой производительности и версии платформы.
0 |
|
2 / 2 / 1 Регистрация: 22.06.2012 Сообщений: 244 |
|
|
08.12.2014, 19:49 [ТС] |
7 |
|
а вы самоуверенны, молодой человек Полотна кода читать очень затруднительно, думаю тут вы согласитесь. Добавлено через 40 секунд
Зависит от желаемой производительности и версии платформы. А в моей ситуации? Хочу чтобы клиент был максимально облегчен, а сервер максимально загружен
0 |
|
Шизофреник 360 / 362 / 83 Регистрация: 25.06.2013 Сообщений: 1,141 |
|
|
08.12.2014, 20:11 |
8 |
|
СообщениеПользователю — относительно свежая фишка, многие про нее просто не в курсе
0 |
|
wladimir_ui Шизофреник 360 / 362 / 83 Регистрация: 25.06.2013 Сообщений: 1,141 |
||||
|
08.12.2014, 20:17 |
9 |
|||
|
ну а в общем, фишка прикольная, что можно прилепить сообщение к элементу…
Миниатюры
0 |
|
Шизофреник 360 / 362 / 83 Регистрация: 25.06.2013 Сообщений: 1,141 |
|
|
08.12.2014, 20:31 |
10 |
|
ан’нет.. боян тот еще, просто в 8.3 справка косячная..
0 |
|
211 / 204 / 15 Регистрация: 29.05.2014 Сообщений: 1,056 |
|
|
08.12.2014, 21:44 |
11 |
|
А в моей ситуации? Хочу чтобы клиент был максимально облегчен, а сервер максимально загружен Для сообщения это не важно. Гонять ты по любому будешь тупо строку. Другое дело что в 11 УТ применили другой алгоритм проверки проведения. Она теперь после проведения, и если не проходит проверка — отменяется вся транзакция. Завязано на механизмы платформы, где-то видел статью.
А банально. Через «СообщениеПользователю.Сообщить()» Никаких изысков. Вот видишь — достаточно было поползать по коду. Вообще «умение разбираться в чужом коде» — +5 к потенции и +3 к интеллекту.
0 |
Добрый день!
Проводили документ принятие к учету 21.10.2021 г , все проводилось и закрытие месяца в том числе.
17.01.2022 обновили 1с платформу Бухгалтерия предприятия, редакция 3.0 (3.0.106.60) и 18.01.2022 при выполнении закрытия месяца появились ошибки. Ниже информация.
Вопрос: Помогите разобраться в чем причина и что сделать, чтобы все провелось.
1. Принятие к учету ОС 0000-000019 от 21.10.2021 12:00:00
«Обработка Принятие к учету ОС 0000-000019 от 21.10.2021 12:00:00 не выполнена по причине:
{Обработка.ГрупповоеПерепроведениеДокументов.МодульМенеджера(2016)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {ОбщийМодуль.ПрослеживаемостьБП.Модуль(2204)}: Ошибка при вызове метода контекста (НайтиСтроки): Неверное имя колонки»
2. Принятие к учету ОС 0000-000020 от 21.10.2021 12:00:00
«Обработка Принятие к учету ОС 0000-000020 от 21.10.2021 12:00:00 не выполнена по причине:
{Обработка.ГрупповоеПерепроведениеДокументов.МодульМенеджера(2016)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {ОбщийМодуль.ПрослеживаемостьБП.Модуль(2204)}: Ошибка при вызове метода контекста (НайтиСтроки): Неверное имя колонки»
Добрый день!
Проводили документ принятие к учету 21.10.2021 г , все проводилось и закрытие месяца в том числе.
17.01.2022 обновили 1с платформу Бухгалтерия предприятия, редакция 3.0 (3.0.106.60) и 18.01.2022 при выполнении закрытия месяца появились ошибки. Ниже информация.
Вопрос: Помогите разобраться в чем причина и что сделать, чтобы все провелось.
1. Принятие к учету ОС 0000-000019 от 21.10.2021 12:00:00
«Обработка Принятие к учету ОС 0000-000019 от 21.10.2021 12:00:00 не выполнена по причине:
{Обработка.ГрупповоеПерепроведениеДокументов.МодульМенеджера(2016)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {ОбщийМодуль.ПрослеживаемостьБП.Модуль(2204)}: Ошибка при вызове метода контекста (НайтиСтроки): Неверное имя колонки»
2. Принятие к учету ОС 0000-000020 от 21.10.2021 12:00:00
«Обработка Принятие к учету ОС 0000-000020 от 21.10.2021 12:00:00 не выполнена по причине:
{Обработка.ГрупповоеПерепроведениеДокументов.МодульМенеджера(2016)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {ОбщийМодуль.ПрослеживаемостьБП.Модуль(2204)}: Ошибка при вызове метода контекста (НайтиСтроки): Неверное имя колонки»
|
|
|||
| andryscha1c
25.03.21 — 18:51 |
При проведении документа выдает ошибку: данные были изменены или удалены другим пользователем. При обычной записи ошибки не возникает, только при проведении. Есть версия что версия объекта базы данных и формы не разные, но метод прочитать не помог. |
||
| breezee
1 — 25.03.21 — 19:43 |
(0) А вы что там изменили? |
||
| andryscha1c
3 — 25.03.21 — 21:25 |
(1) реквизиты документа заполняли в течении 20 минут постепенно, пытались провести уже не дает, пришлось записать. Далее записанный документ также не проводится с данной ошибкой. |
||
| hhhh
4 — 25.03.21 — 21:38 |
(3) метод Прочитать точно грохнули? А то, если оставили, то как раз из-за него. |
||
| andryscha1c
5 — 25.03.21 — 22:18 |
(4) у меня есть основная форма Форма1, есть та которая вызывается Форма2. В Форме2 я меняю в проведении таб часть Формы1 и при закрытии Формы2 читаю Форму1 ЭтотОбъект.ВладелецФормы.Прочитать(); затем делаю тут же перед закрытием Формы2 делаю Оповестить(«ИзмененияВТЧ»); и в Форма1 меняю на Форме1 некоторые значения Статусы (обновляю). Но ошибка сейчас прям при нажатии на кнопку Провести и закрыть, даже не доходит до закрытия формы. |
||
| hhhh
6 — 25.03.21 — 22:33 |
(5) в проведении никто никогда не меняет, надо сначала всё поменять, а потом на втором этапе уже делать проведение. |
||
| andryscha1c
7 — 25.03.21 — 22:52 |
(6) решено, ошибка была была в том что в проведении менялся исходный документ и пытался провестись, но он был помечен на удаление))) а за счет попытки исключения выдавало подобные ошибки. В итоге убрал в явной транзации проведения попытки исключения конструкции, выявил ошибку и убрал с пометки исходный документ и все провелось. Вопрос: а где менять если не в проведении(надо что бы именно при проведении срабатывало кнопки), в событии «при записи» с режимом записи проведение если так? |
||
| andryscha1c
8 — 25.03.21 — 22:54 |
точнее перед записью |
||
|
hhhh 9 — 25.03.21 — 23:04 |
да, ПередЗаписью. |
/
/
/
Ошибка при проведении документов в 1С:ЗУП. Что делать?
12.04.2022
При проведении документов Отпуск, Больничный лист, Начисление прочих доходов и др., в программе «1С: Зарплата и управление персоналом, редакция 3.1», новый релиз 3.1.21.75 от 01.04.22 г., выходит сообщение об ошибке и документ не рассчитывается и не проводится, как это исправить?
Посмотреть информацию о релизе:
01.04.2022 г. разработчиком зарегистрирована Ошибка с кодом 60001098
Ошибка появляется, если в Учетной политике (раздел-Настройка-Организации или Реквизиты организации-Учетная политика и другие настройки-Учетная политика) на вкладке НДФЛ установлен флажок – Выполнять расчет НДФЛ по прогрессивной шкале.
В документе Отпуск заполнено поле — Средний заработок и количество дней отпуска, но не заполняются поля – Начислено и НДФЛ, выходит сообщение об ошибке.
Такая же ошибка, при проведении Больничного листа, Начисление прочих доходов и других документов.
- Планируется исправление в будущих версиях программы.
- Способ исправления в настоящий момент – Установить патч EF_60001098.
- Для оперативного исправления ошибок выпускаются так называемые патчи — небольшие файлы (специальным образом подготовленные расширения конфигурации), которые предназначены для исправления конкретной ошибки в конкретном релизе конфигурации до обновления этой конфигурации. При установке следующего релиза конфигурации, в котором данная ошибка уже исправлена, патч теряет свою актуальность и удаляется автоматически.
- При автоматической загрузке и установке патчей пользователь, вероятнее всего и не заметит ошибку при работе с программой.
- Патч установится автоматически, если в Информационной базе установлен флажок — Загружать и устанавливать исправления (патчи) автоматически (раздел Администрирование -Интернет — поддержка и сервисы — Обновление версии программы).
Где скачать патч для установки в ручном режиме:
Далее необходимо распаковать архив в произвольный каталог на компьютере.
Для загрузки исправления (патча) в программу, заходим в раздел Администрирование-Обслуживание-Обновление программы, нажимаем на ссылку «Установка обновлений и исправлений (патчей)» и выбираем ранее распакованный файл, кнопка «Далее», кнопка «Продолжить».
Исправление (патч) успешно установлено.
После установки исправления (патча) сформируем документ Отпуск.
Ошибка исправлена, документ рассчитан и проведен.
Также, после исправления ошибки, рассчитываются и проводятся, и другие документы.
Освойте программу 1С:Зарплата и управление с нуля. Ознакомиться с курсами по зарплате и кадрам для любого уровня подготовки можно кликнув по ссылке
Расписание всех курсов 1С смотрите по кнопке ниже.
Расписание курсов 1C
Подпишитесь на нас!
И получите в подарок промокод на 1500 руб! Все новые статьи, акции и анонсы каждую неделю:
Добрый день! Подскажите, пожалуйста, как избежать ошибки при проведении документа. База 1С:Предприятие 8.3 (8.3.15.1869) Конфигурация: Бухгалтерия предприятия, редакция 2.0 (2.0.66.111)
При проведении документа появляется сообщение:
Документ Списание с расчетного счета БПАЛ0000166 от 17.03.2020 0:00:00 не проведен! По причине: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {РегистрНакопления.НДФЛРасчетыСБюджетом.МодульМенеджера(27)}: Поле объекта не обнаружено (УчетнаяПолитикаПоНДФЛ)
Документ не проводиться
Может кто сталкивался? Как не шаманил не получается убрать эту ошибку.
г. Ростовская область341 017 баллов
Добрый день. попробуйте почистить кэш.
Заполнить, проверить и подать уведомление о сумме налога
geomech, В 1С почистить КЭШ? Научите как это сделать?
г. Ростовская область341 017 баллов
Добрый день!
Делается это просто. Двойной щелчок на иконку 1С. Удаляете из списка свою информационную базу (не забудьте запомнить где она находится) и добавляете ее опять. Просто при прохождении этапов мастера добавления вы не создаете новую базу, а добавляете уже существующую, т.е. прописываете путь к той базе, которую ранее удалили.
Заполняйте платежки с актуальными на сегодня КБК, кодами дохода и другими обязательными реквизитами
Как узнать ошибку проведения документа
Автор Sinsinmin, 06 мая 2011, 09:32
0 Пользователей и 1 гость просматривают эту тему.
программно пишу следующее
ЦитироватьПопытка
ТекстОшибки = «»;
ДокКадрПерем.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Исключение
ТекстОшибки = ОписаниеОшибки();
ЗаписьОшибки(ТекстОшибки);
ДокКадрПерем.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
Но получается что многие документы проводятся с противоречиями. Таким образом выполнение не заходит в исключение проведения. Каким образом можно узнать ошибку проведения документа?
Ошибки проведения обрабатываются в ОбработкеПроведения() документа и выводятся обычным Сообщить()…
- 1 пользователь сказал спасибо!
Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.
Это код внешней обработки.
И мне нужно передать эти ошибки в текстовый документ, для логирования ошибок внешней обработки.
Ну а чем существубщий код не подходит?
Если ты имеешь ввиду мой код, то он выдаёт ошибку только при исключении. Тобишь когда проведение документа невозможно. А хотелось бы узнать ошибки при проведении документа.
Хм, а какие ошибки возможны при нормальном проведении документа? Документ либо провелся (ошибок нет), либо не провелся (ошибки есть). Или я не так понял?
Аааа, кажется вкурил. Ты имеешь ввиду ошибки, которые не отменяют при этом проведения документа?
В ОбработкеПроведения() там где сообщаете об ошибке через Сообщить() надо добавить код, который будет помещать ошибки еще куда нибудь, например в РегистрСведений…
Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.
нельзя трогать код программы. Всё с помощью внешней обработки. Также нельзя делать регистры. Текстовый документ самое то.
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Buhgalter2011
Дата регистрации: 21.05.2003
Сообщений: 44
Здравствуйте, после обновлений с сентября 2020г. при проведении Документа «Поступление товаров» начала вылезать ошибка см. скрин, попробовал перепровести документы предыдущих периодов то же самое, ничего не проводится. Цена документом «Установка цен номенклатуры» установлена 01.01.2020, непонятно, теперь программа предлагает на каждое поступление устанавливать новую цену. Все «перекопал», ни в учетной политике, ни в настройках ничего не изменилось, так почему теперь перестали проводится Документы «Поступление товаров», то же самое при закрытии месяца? Может сталкивался кто.
KYA
Дата регистрации: 18.12.2009
Сообщений: 585
У вас склад розничный…
— какой тип цен для него задан?
— покажите какая цена с этим типом установлена на дату документа Поступление
— какой остаток (количество/сумма) в ОСВ на сч.41.11?
В сообщении говорится об учетной цене 194,09 руб. — это стоимость единицы по сч.41.11, а установленная розничная цена другая.
У вас в учетной политике установлен учет в рознице «По продажной стоимости», но остаток на сч.41.11 не идет с установленной розничной ценой.
О чем и сообщает программа.
Buhgalter2011
Дата регистрации: 21.05.2003
Сообщений: 44
KYA, Спасибо за ответ. Действительно в учетной политике установлен учет в рознице «По продажной стоимости», склад «розничный», тип цен «розница» выбирается в документе «Отчет о розничных продажах», в документе «Поступление товаров» тип цены не был выбран, но раньше до сентября 2020г. все проводилось. Теперь все проведения отменил вплоть до 01 января 2019г. и там все не проводится везде ругается (см. скрин выше), причем, цена документом «Установка цен номенклатуры» установлена 01.01.2019г. и до 12.01.2019г. десять документов начиная с 03 января провелись, а вот документ от 12 января не проводится и далее тоже. С чем связано, непонятно, все перерыл, вроде бы ничего сложного документ «Поступление товаров» формировал следующие проводки, например, при установленной розничной цене за ед. 200 руб. поступил от поставщика товар в количестве 10 шт. ценой за ед. 50 руб.: Дт41.11 Кт60 — 500 руб. (10х50); Дт41.11 Кт42 — 1500 руб. (200х10-500). Теперь программа перестала понимать, что цена должна браться с установленной документом «Установка цен номенклатуры» и почему то ругается на учетную цену, и требует, чтобы установили именного его по остаткам, тогда зачем вообще нужно устанавливать продажную цену, ничего непонятно.
KYA
Дата регистрации: 18.12.2009
Сообщений: 585
Buhgalter2011, Вы не ответили на:
| Цитата |
|---|
| — какой остаток (количество/сумма) в ОСВ на сч.41.11? |
| Цитата |
|---|
| Теперь программа перестала понимать, что цена должна браться с установленной документом «Установка цен номенклатуры» и почему то ругается на учетную цену, и требует, чтобы установили именного его по остаткам, тогда зачем вообще нужно устанавливать продажную цену, ничего непонятно. |
Вы не поняли. Она не требует «установить по остаткам», она хочет, чтобы вы остаток привели к цене 200 рэ
Какой остаток на счете 41.11 на дату поступления? Количество и сумма???
Buhgalter2011
Дата регистрации: 21.05.2003
Сообщений: 44
KYA, На 12.01.2019 на 41.11 действительно 194 руб., тогда непонятно, почему раньше все проводилось, и почему провелись теперь документы до 12.01.2019г.
KYA
Дата регистрации: 18.12.2009
Сообщений: 585
Смотрите когда стоимостной остаток перестал соответствовать розничной цене 200р. Может быть ручными операциями что-то корректировали?
Такое поведение 1С было всегда.
milanka
Дата регистрации: 21.12.2020
Сообщений: 5
Не все мне понятно, но попытаюсь разобраться, спасибо.
Показывать по
10
20
40
сообщений
Ошибка в 1С 8.3 Нарушение прав доступа появляется при попытках обращения пользователя к объекту, прав на который у него нет. Очень часто это происходит при вводе нового пользователя в 1С, доработке программного кода и обновлении программы.
Причины ошибки
С ошибкой Нарушение прав доступа сталкиваются многие пользователи 1С после доработки программного кода и обновления программы. Возможные причины появления ошибки:
- обновление программы на новый релиз;
- попытка чтения или записи данных справочника, документа или регистра пользователем, не имеющим прав на объект;
- использование внешних обработок и отчетов без установки пользователю специальной роли;
- ошибка задания прав новому пользователю 1C.

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

При появлении ошибки Нарушение прав доступа после обновления программы нужно выполнить следующие действия:
- Проверьте, содержится ли ошибка в реестре: Публикация ошибок 1С. Перейдите по ссылке, в форме поиска ошибок укажите конфигурацию программы и текст ошибки.

После нажатия кнопки Найти будет произведен поиск по заданным параметрам.
- Для зарегистрированной ошибки обратитe внимание на дату регистрации и релиз исправления ошибки.


- Если заполнена информация в разделе Способ обхода — внимательно ее изучите: это позволит сразу решить проблему, не дожидаясь релиза с исправлениями.
- Обратитесь на горячую линию 1С, если ошибка в реестре еще не зарегистрирована:
- телефон hotlane 1С: (495) 956-11-81;
- E-mail:v8@1c.ru.
Восстановите программу из копии и ждите исправления ошибки в следующем релизе обновления.
Нарушение прав доступа при чтении данных
В 1С существует набор специальных объектов Роль, которые описывают разрешенные действия пользователей. Роли задаются разработчиками в Конфигураторе 1С. При работе в 1С можно пользоваться только этим предопределенным набором. Самостоятельно ввести новую Роль без доработки Конфигурации невозможно.

Каждая Роль включает набор свойств для работы с объектами 1С. Они задают права на чтение, просмотр, изменение, редактирование и т. д. данных в справочниках, документах и регистрах программы.
Пользователь, которому назначили роль Чтение контрагентов, может считывать данные справочника Контрагенты, но при обращении к справочнику Банки получит ошибку Нарушение прав доступа.
Нарушение прав доступа при записи данных
При записи изменений данных в справочниках, документах и регистрах программа проверяет наличие соответствующих прав у пользователя также, как и при чтении данных,
Пользователь, которому назначена роль Добавление и изменение сотрудников, может редактировать данные справочника Сотрудники, но при попытке изменения данных банка получит ошибку Нарушение прав доступа.
Работы с внешними отчетами и обработками
Для работы с внешними отчетами и обработками пользователю нужно назначить одну из ролей:
- Полные права;
- Интерактивное открытие внешних отчетов и обработок.

Для исправления ситуации нужно добавить роль Интерактивное открытие внешних отчетов и обработок пользователю, работающему с внешней обработкой.
Добавление нового пользователя
В 1С заложена автоматическая проверка прав того набора объектов 1С, который определяется профилем групп доступа:
- Администратор;
- Главный бухгалтер;
- Бухгалтер;
- Только чтение;
- и т. д.
Программа скроет все объекты, на которые у пользователя нет прав:
- у пользователя Менеджер с ограниченными правами список документов отгрузки будет пуст;

- у пользователя с Полными правами отобразится полный список документов отгрузки.

Чтобы ограничить возможность изменения документов определенным пользователям, можно даже не устанавливать специально Дату запрета изменения. Программа сама не даст сохранить изменения пользователям с ограниченными правами:
- у пользователя Менеджер — кнопка Записать и Провести неактивны;

- у пользователя с Полными правами — есть возможность изменения данных (кнопка Записать и закрыть активна).

Использование типовых Профилей групп доступа сводит к минимуму риск возникновения ошибки.
Ошибка при проведении документа реализация (акт, накладная)
При записи документа должно быть установлено право изменения этого документа у пользователя. Но при проведении документа помимо него самого задействуются и другие объекты — создаются записи в различные регистры.
Если вы указали в новой роли право только на документ Реализация (акт, накладная), этого недостаточно. По кнопке Дт/Кт уточните, какие регистры используются при проведении документа и добавьте их в новую роль с активными свойствами:
- Чтение;
- Изменение;
- Просмотр;
- Редактирование.


Ошибка при попытке открыть карточку контрагента под определенным пользователем
Ошибка связана с тем, что у пользователя, который отрывает карточку Контрагенты, нет прав на чтение данных из определенного регистра 1С.
Если в подробном описании ошибки программа не указывает регистр, при записи данных в который происходит ошибка, вам придется выяснить это самостоятельно. Для недоработанной типовой конфигурации Бухгалтерия 3.0 при открытии справочника Контрагенты могут использоваться:
- регистр бухгалтерии Хозрасчетный;
- регистр бухгалтерии Курсы валют;
- регистр бухгалтерии Наличие дублей у контрагентов;
- и т. д.
Эти регистры включены в программный модуль справочника Контрагенты.

Проверьте, что у пользователя есть права на эти регистры. Более серьезный анализ ситуации выполняется по программному коду процедуры открытия формы справочника.
Эта работа требует особой подготовки и квалификации.
Ошибка при открытии внешнего отчета
Для открытия внешних отчетов и обработок 1С необходимо добавить пользователю роль Интерактивное открытие внешних отчетов и обработок. После этого он сможет работать с внешним отчетом без ошибок.
Заказать консультацию
По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.
|
TAYSON94 0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
||||
|
1 |
||||
Ошибка при проведении документа20.04.2020, 10:10. Показов 2043. Ответов 32 Метки нет (Все метки)
При проведении документа ошибка
Миниатюры
0 |
|
0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
|
|
20.04.2020, 10:11 [ТС] |
2 |
|
Кликните здесь для просмотра всего текста 0 |
|
1153 / 700 / 203 Регистрация: 22.04.2013 Сообщений: 5,205 Записей в блоге: 1 |
|
|
20.04.2020, 11:27 |
3 |
|
если не найдено поле виды номенклатуры, о чём русским по белому написано — значит надо обойтись без него или найти, где оно находится и почему путь, написанный вами, не может его найти Кликните здесь для просмотра всего текста Не по теме: п.с. вы всё равно продолжаете писать код руками? конструктором запросов впадлу пользоваться? 0 |
|
TAYSON94 0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
||||
|
20.04.2020, 11:46 [ТС] |
4 |
|||
|
Как без него обойтись то
0 |
|
198 / 158 / 45 Регистрация: 23.08.2014 Сообщений: 807 |
|
|
20.04.2020, 12:20 |
5 |
|
TAYSON94, нету у вас в справочнике номеклатура, реквизита ВидНоменклатуры. 0 |
|
1153 / 700 / 203 Регистрация: 22.04.2013 Сообщений: 5,205 Записей в блоге: 1 |
|
|
20.04.2020, 12:21 |
6 |
|
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.Ви дыНоменклатуры у вас ругается на вот это вот 0 |
|
0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
|
|
20.04.2020, 13:32 [ТС] |
7 |
|
Есть у меня этот реквизит вот посмотрите ! Кликните здесь для просмотра всего текста 0 |
|
371 / 175 / 74 Регистрация: 04.03.2020 Сообщений: 662 |
|
|
20.04.2020, 14:15 |
8 |
|
А вот в документе ОказаниеУслуги в ТЧ ПереченьНоменклатуры Номенклатура точно типа Справочник.Номенклатура? 0 |
|
0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
|
|
20.04.2020, 14:37 [ТС] |
9 |
|
Вот Кликните здесь для просмотра всего текста Кликните здесь для просмотра всего текста 0 |
|
0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
|
|
20.04.2020, 17:01 [ТС] |
10 |
|
Подскажите пожалуйста начинающему 1снику может я чего то не понимаю не с начала же начинать 0 |
|
0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
|
|
20.04.2020, 17:13 [ТС] |
11 |
|
Сделал ВидНоменклатуры , теперь Ошибка при выполнении обработчика — ‘ОбработкаПроведения’ 0 |
|
1153 / 700 / 203 Регистрация: 22.04.2013 Сообщений: 5,205 Записей в блоге: 1 |
|
|
20.04.2020, 17:48 |
12 |
|
ура. после создания третьей темы по одному вопросу наконец-то было сделано то, о чём так упорно твердили большевики. 0 |
|
0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
|
|
20.04.2020, 18:01 [ТС] |
13 |
|
Не понятно где скобки ставить Кликните здесь для просмотра всего текста Кликните здесь для просмотра всего текста 0 |
|
1153 / 700 / 203 Регистрация: 22.04.2013 Сообщений: 5,205 Записей в блоге: 1 |
|
|
20.04.2020, 18:23 |
14 |
|
вот только не говорите мне теперь, что этот запрос вы создали в конструкторе. Миниатюры
0 |
|
TAYSON94 0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
||||
|
20.04.2020, 22:57 [ТС] |
15 |
|||
|
Подскажите пожалуйста при проведении документа оказание услуг ошибка
Кликните здесь для просмотра всего текста 0 |
|
Dethmontt Модератор 3711 / 2907 / 573 Регистрация: 10.03.2011 Сообщений: 11,447 Записей в блоге: 1 |
||||||||
|
24.04.2020, 08:33 |
16 |
|||||||
|
А если режим не опреративный? Добавлено через 2 минуты
вот эту гадость воткни внутрь условия (если оперативный) 0 |
|
0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
|
|
24.04.2020, 08:48 [ТС] |
17 |
|
Воткнул теперь другая ошибка 0 |
|
Модератор 3711 / 2907 / 573 Регистрация: 10.03.2011 Сообщений: 11,447 Записей в блоге: 1 |
|
|
24.04.2020, 08:58 |
18 |
|
TAYSON94, интересно, какая связь между запрос2 и запрос3 ??? Весь код в студию, а то вы ЧУШЬ какую-то пишите Добавлено через 3 минуты Не по теме: Yulunga, Помоги человеку разобраться в его каракулях! Я спать пошел… 0 |
|
TAYSON94 0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
||||
|
24.04.2020, 09:03 [ТС] |
19 |
|||
|
Пожалуйста
0 |
|
0 / 0 / 0 Регистрация: 16.09.2016 Сообщений: 176 |
|
|
24.04.2020, 09:05 [ТС] |
20 |
|
Ошибка вот эта Кликните здесь для просмотра всего текста 0 |
|
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
24.04.2020, 09:05 |
|
Помогаю со студенческими работами здесь Запрос к регистру накопления при проведении документа Автоматическое формирование подчиненного документа при проведении Запись данных в справочник при проведении документа Создать элемент в справочнике при проведении документа Есть документ "Собеседование", справочник "Сотрудники" Как изменить время при оперативном проведении документа Запись данных в регистр при проведении документа (УТ11) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 20 |
-
Всем привет!
В обработке проведения делаю проверку на наличие проведенных документов на основании, и если таковые есть — выдаю ошибку, что нужно их распровести и делаю «Отказ = Истина». При этом выдается сервисное сообщение «Не удалось провести [название документа]. Ок, Подробно…».
Начальника хочет, чтобы выводилось одно сообщение о том, что не проведено, т.к. есть документы на основании. Как вывести свое сообщение и не выводить сервисное?
-
Offline
alexburn
Модераторы
Команда форума
Модератор
- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
-
Если можно, чуть подробнее. В каком месте использовать попытку и что в ней пытаться сделать? Я же не программно провожу, а стандартными средствами.
-
Offline
alexburn
Модераторы
Команда форума
Модератор
- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Если кодить не умеете, лучше не лезьте, да и мой вам совет, не нужно переделывать штатный функционал, потом при обновлении замучаетесь. Это ваша «хотелка» ничего не значит для бизнес-логики, так что оставьте эту затею.
-
Offline
shurikvz
Модераторы
Команда форума
Модератор
- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
TylerDurdenIII
в суть не вдумывался. Пока вопросы:
1) почему вы это делаете (проверку) именно в обработке проведения документа? Почему например нельзя сделать это раньше, например перед записью документа?
2) всю задачу не знаю, это зависит уже от нее, поэтому может быть не актуально, но: судя по первому посту подразумевается что это проведение ваше запускает пользователь, и ему выводится какое-то сообщение. В итоге: вашу проверку действительно в модуле объекта надо делать, или же допустимо вообще убрать ее в модуль формы? -
1) Если делать в процедуре ПередЗаписью также придется ставить Отказ=Истина, который приведет к сообщению «Не удалось провести [название документа]».
2) Если в форму поместить код, то не отработает при проведении из списка. -
Offline
alexburn
Модераторы
Команда форума
Модератор
- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Главный вопрос — для чего это ????
Это влияет на бизнес-логику ?
Это влияет на скорость работы ИБ ?
Это влияет на оперативность ?
На что это влияет ???? -
Есть такие люди, которые хотят и все тут. Мешает им видите ли лишнее отвлекающее от основного сообщение. Буду убеждать, что не надо это, просто уже интересно как же можно это сделать если это возможно.
-
Offline
shurikvz
Модераторы
Команда форума
Модератор
- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
2) Понял. Принимается.
1) ПередЗаписью() использовать в любом случае лучше, не будет лишних расчетов, выполняемых в процедуре проведенияЕще уточняющий вопрос: контролировать (выводить ваше сообщение) надо именно при проведении документа или при отмене проведения?
-
Offline
shurikvz
Модераторы
Команда форума
Модератор
- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
Ну ок.
Смотрите, я не знаю как вы выводите ваше сообщение (Предупреждение())? Т.е. модальным окном что-ли, что у вас два она появляется?
Если так, то рекомендуемый мной вариант: сделать точно также как реализовано стандартно. Т.е. выводите причину ошибки при помощи «ОбщегоНазначения.СообщитьОбОшибке()», она появляется внизу экрана в окне сообщений, и на экране это ваше системное окно о том что невозможно провести (записать) документ.
Если же упорно так не хотите, ну единственный вариант который я знаю: вызовите собственное исключение в процедуре проведения (ВызватьИсключение <Текст>). -
В данный момент все как вы и описали — служебное сообщение выскакивает, а мое сообщение внизу экрана. Клиент упорно хочет одно сообщение.
Есть ли подводные камни у вызова исключения из проведения? Не делает ли платформа еще чего важного кроме вывода сообщения при отказе? -
Offline
shurikvz
Модераторы
Команда форума
Модератор
- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
Да нет. Чего она важного может делать? Вызываете исключение — транзакция записи прерывается.
- Похожие темы
-
- Ответов:
- 12
- Просмотров:
- 1.235



































