ОбработкаПолученияПредставления и некорректные параметры данных.
Конфигурация Торговый комплекс. Пытаюсь через проверку не заполнения одного из реквизитов документа "списание товаров" отменить проведение. То есть записать можно, провести нет.
Обычный код для отмены проведения в обработке проведения
Все ок. Документ не проводится. Но стандартно забегает в процедуру "ОбработкаПолученияПредставления" и параметры "Данные" передает значение "Проведен = истина" и ссылку на объект.
Уже в самой процедуре при значение "Проведен" формируется представление документа как ....номер... (проведен). и выводится сообщение пользователя "Не удалось провести "Списание товаров №РФТК-000414 от 18.04.2021 (проведен)"!"
Хочется как минимум получать представление "Не удалось провести "Списание товаров №РФТК-000414 от 18.04.2021"
Уже писал свою процедуру ОбработкаПолученияПредставления, с наперед определенными своими параметрами, но ни в какую.
Как нужно и можно повлиять на ситуацию?
Обычный код для отмены проведения в обработке проведения
Если Не ЗначениеЗаполнено(СтатьяСписанияТМЦ) Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
Все ок. Документ не проводится. Но стандартно забегает в процедуру "ОбработкаПолученияПредставления" и параметры "Данные" передает значение "Проведен = истина" и ссылку на объект.
Уже в самой процедуре при значение "Проведен" формируется представление документа как ....номер... (проведен). и выводится сообщение пользователя "Не удалось провести "Списание товаров №РФТК-000414 от 18.04.2021 (проведен)"!"
Хочется как минимум получать представление "Не удалось провести "Списание товаров №РФТК-000414 от 18.04.2021"
Уже писал свою процедуру ОбработкаПолученияПредставления, с наперед определенными своими параметрами, но ни в какую.
Как нужно и можно повлиять на ситуацию?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Проверку заполнения реквизитов документа можно сделать в обработке ОбработкаПроверкиЗаполнения - она вызывается только при проведении.
Но если в обработке вернется Отказ = Истина, то документ в любом случае не проведется и не запишется.
Что делать дальше - просто записать без проведения или заполнить и провести - уже должен решать пользователь.
Как нужно и можно повлиять на ситуацию?
Проверку заполнения реквизитов документа можно сделать в обработке ОбработкаПроверкиЗаполнения - она вызывается только при проведении.
Но если в обработке вернется Отказ = Истина, то документ в любом случае не проведется и не запишется.
Что делать дальше - просто записать без проведения или заполнить и провести - уже должен решать пользователь.
(5) Вы меня слышите, нет?
В обработчике ПередЗаписью() проверяете заполненность реквизитов в случае, если параметр РежимЗаписи = Проведение.
Если по итогам проверки надо записать документ без проведения - изменяете только параметр РежимЗаписи.
Если надо отказаться от записи совсем - изменяете параметр Отказ.
В обработчике ПередЗаписью() проверяете заполненность реквизитов в случае, если параметр РежимЗаписи = Проведение.
Если по итогам проверки надо записать документ без проведения - изменяете только параметр РежимЗаписи.
Если надо отказаться от записи совсем - изменяете параметр Отказ.
(11) Да-да, изменение комментария очень влияет на движения документа.
Не надо называть решения дичью, если вы не знаете прикладной логики документа. Может быть все его проведение заключается в добавлении статуса в независимый регистр сведений...
Ничего, наберетесь опыта, будете покладистее к возможностям платформы...
Не надо называть решения дичью, если вы не знаете прикладной логики документа. Может быть все его проведение заключается в добавлении статуса в независимый регистр сведений...
Ничего, наберетесь опыта, будете покладистее к возможностям платформы...
(12)При чем тут изменение комментария? Это вы себе сейчас придумали, что пользователь изменил комментарий?
Причем тут вообще комментарий?
Можно изменить все реквизиты документа, но не заполнить реквизит, из-за которого по вашему совету проведенный документ запишется без проведения.
Еще раз - ваше предложение - выстрел себе в ногу - данные документа будут не соответствовать движениям, а документ будет проведен.
Если вы этого не понимаете, то я честно сказать даже не знаю, вы уже праздновать что ли начали или просто троллите?
Причем тут вообще комментарий?
Можно изменить все реквизиты документа, но не заполнить реквизит, из-за которого по вашему совету проведенный документ запишется без проведения.
Еще раз - ваше предложение - выстрел себе в ногу - данные документа будут не соответствовать движениям, а документ будет проведен.
Если вы этого не понимаете, то я честно сказать даже не знаю, вы уже праздновать что ли начали или просто троллите?
(13) Можно. Именно для этого и существует разработчик, который несет ответственность за то - проводить документ или нет при том или ином измененном реквизите, и не нагружать лишний раз SQL лишними транзакциями.
Вы же ведь не знаете посыла автора, да? Почему вы решаете за него?
Вот когда вы будете уверены в том, что изменились данные участвующие в движениях - вы будете правы. А пока ваши предположения просто как пук в лужу.
Вы же ведь не знаете посыла автора, да? Почему вы решаете за него?
данные документа будут не соответствовать движениям, а документ будет проведен.
Вот когда вы будете уверены в том, что изменились данные участвующие в движениях - вы будете правы. А пока ваши предположения просто как пук в лужу.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот