Запрет изменения "поступления товаров услуг"
Добрый день! Возник такой вопрос, который поставил меня в затруднение, помогите пожалуйста. Допустим такая ситуация: У нас есть Документ поступления и по поступившему товару есть реализация, пользователь изменяет документ поступления и например убирает из него ту позицию которая была реализована. Вопрос: как сделать так чтобы пользователю не давало изменять документ поступления если по нему есть движения в будущем (если есть реализации)?? Заранее спасибо!
По теме из базы знаний
- Контроль изменения документов
- Перенос данных из УТ 10.3 в УТ 11 / КА 2 / ERP 2. Переносятся документы, справочники и остатки
- [Расширения] Информация по взаиморасчетам, запрет отгрузки [БП 3.0]
- Отчет по изменениям документов (история версий) для ERP
- [Расширение] Автоматический перенос даты запрета редактирования для 1С:УНФ
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Подписка ПередЗаписью, проверяем было ли изменение состава номенклатуры (сравниваем ТЧ у объекта, и ТЧ по ссылке), находим те позиции, которые были изменены/удалены, ищем по ним обороты с даты документа, и скажем на квартал вперед, если обороты найдены, возводим Отказ в истину. Ну и проверки типа, что документ был проведен, чтобы при первой записи ничего не сработало.
(6)Хорошо, здесь я согласен, а что если грубо говоря у нас есть 2 поступления и одна реализация (в обоих поступлениях присутствует товар который мы продаем), но для продажи его хватает в первом поступлении...мы изменяем 2 поступление с которого списания посути нет, как быть в этой ситуации тоже запрещать проводить??
(7)
Если учет не партионный, то никак не узнаем из какой накладной продается товар, а при среднем изменится себестоимость товара, поэтому все равно бы запретить надо
А вообще, как сказали ранее, нечего менять документы задним числом, особенно поступления, они ж по факту приходуются, а не от балды, я бы поставил запрет изменения на вчера, и не парился бы
мы изменяем 2 поступление с которого списания посути нет, как быть в этой ситуации тоже запрещать проводить??
Если учет не партионный, то никак не узнаем из какой накладной продается товар, а при среднем изменится себестоимость товара, поэтому все равно бы запретить надо
А вообще, как сказали ранее, нечего менять документы задним числом, особенно поступления, они ж по факту приходуются, а не от балды, я бы поставил запрет изменения на вчера, и не парился бы
(12) Нет так не пойдет, почему: Допустим 1 января приход на 100 шт, 2 января продали 100 шт, 3 января приход на 55 штук, 4 января я хочу поменять поступление 1 января при проведении проверяю остатки на 4 января и у меня все хорошо ничего не ушло в минус, но при проведении за период выдаст ошибку.
пока набирал уже успели написать. но лучше бы вообще не лезть в проведенные документы. поставить автоматическую дату запрета редактирования вчера
Для контроля отрицательных остатков по реализации, два раза в неделю(в ночь) запускаем регламентную процедуру восстановления партий и смотрим ошибки восстановления.
А тупо запретить добавление/удаление строк если документ проведен не катит? Чтобы только редактировали.
Ну так если юзеры хотят менять поступления, пусть меняют через "Корректировку поступления", а проведённые поступления закрыть на изменение.
Блокируй табличную часть поступления (у меня так) если по регустру поступление (У меня ТоварыНаСкладах) уже было движение(быстрый запрос без джоинов), если пользователь хочет менять поступление пускай распроводит реализации перемещения требования накладные итд, и далее кушает сам смой кактус.
(23) при открытии документа поступления проверяем есть ли движения (перемещение,продажа,требование накладная итд) по этой номенклатуре или партии если у нас партионка, (Запрос к регистру накопления, если БУ то к регистру БУ от позиции документа поступления) , если есть движения то документ блокируеться для изменения.
ПриОткрытие делай проверку(Если это не новый документ) на наличие каких то связанных документов и делай ЭтаФорма.ТолькоПросмотр = ИСТИНА
в (22) ошибка. Товары на складах не содержат партий. А тут вопрос именно в рамках конкретной партии. Поэтому это регистр ПартииТоваровНаСкладах
А где это сделать и с помощью чего!
В табличной части есть обработчики. Там есть обработчик ПриУдалении (также можно использховать и при изменении - если вдруг будет менятся количество)
Там уже есть процедура ПередУдалениемТовары - так вот в нее нужно конкретено добавить проверку.
Элементарнейший запрос по регистру партии товаров, с отбором по партии - документу, товару (можно повесить в обработчик изменения строки) и КоличествоРасход.
Если больше 0. Отмена действия.
Вот и все. Программа посмотрит регистр партий. Конкретно эту поставку и конкретно товар который пытаются удалить. Если был расход значит произошло движение.
Отмена действия с сообщением и даже можно выдать документы расхода или даже автоматически вызвать отчет и сразу выдать пользователю
Элементарно, просто и надежно!
А где это сделать и с помощью чего!
В табличной части есть обработчики. Там есть обработчик ПриУдалении (также можно использховать и при изменении - если вдруг будет менятся количество)
Там уже есть процедура ПередУдалениемТовары - так вот в нее нужно конкретено добавить проверку.
Элементарнейший запрос по регистру партии товаров, с отбором по партии - документу, товару (можно повесить в обработчик изменения строки) и КоличествоРасход.
Если больше 0. Отмена действия.
Вот и все. Программа посмотрит регистр партий. Конкретно эту поставку и конкретно товар который пытаются удалить. Если был расход значит произошло движение.
Отмена действия с сообщением и даже можно выдать документы расхода или даже автоматически вызвать отчет и сразу выдать пользователю
Элементарно, просто и надежно!
Выполнить нужную задачу можно также без изменения конфигурации с помощью механизма Расширений конфигураций. С доработкой процедуры ПередУдалением.
Это еще красивее будет
Это еще красивее будет
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот