Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Scherbak.Alexandr Почетный активист проекта
Зарегистрирован: 23.12.2015 Сообщения: 112 Откуда: Ростовская обл., г.Новочеркасск
|
Добавлено: Пт Апр 14, 2017 11:02 14.04.2017 Заголовок сообщения: 2.09 Невозможно удалить Модель РМ |
|
|
Добрый день.
Столкнулся с такой проблемой. Был заведён РМ по которому ранее проводились движения списания. Вчера было решено, что данный РМ не нужен. Пользователем были выполнены следующие действия
, т.е. нарушен порядок действий. По этой причине есть замечание, что в программе не должно выполняться удаление прихода, если по нему были проведены движения.
Теперь же в таблице Cartridges у меня такая ситуация (поле SumQuantity не равно нулю)
ID ItemsInPack LocalName PartNumber ReportName SumQuantity Updated UserUpdated
-41 1 Диск CD/DVD TDK: RW 4,7GB RW 4,7GB Диск CD/DVD TDK: RW 4,7GB 128 2016-08-24 16:30:14.000 17.03.2016
Хотя в таблице Quantities во так:
CartrigeID Quantity StoreID
-41 0 2
Как итог - не удаётся удалить запись из моделей расходных материалов.
А теперь вопрос по Чернышевскому, - Что делать? =) |
|
Вернуться к началу |
|
|
Scherbak.Alexandr Почетный активист проекта
Зарегистрирован: 23.12.2015 Сообщения: 112 Откуда: Ростовская обл., г.Новочеркасск
|
Добавлено: Пт Апр 14, 2017 12:22 14.04.2017 Заголовок сообщения: |
|
|
В общем, для устранения проблемы сделал так:
1. Сделал приход на указанное в таблице Cartridges в поле SumQuantity количество.
2. Удалил приход.
3. Удалил Модель Расходного Материала.
Но это без доступа к таблицам и знания схемы БД было бы сложно проделать. |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Пт Апр 14, 2017 17:34 14.04.2017 Заголовок сообщения: |
|
|
Спасибо за баг-репорт.
Проверил, действительно, при удалении прихода РМ не выполняется проверка на действия с этим РМ. Хотя в других подобных случаях такие проверки обязательны. Проверки при удалении прихода будут добавлены.
Действия для удаления модели РМ в целом были сделаны корректные. Хотя можно было поступить проще: зайти в Сервис - Обслуживание и нажать кнопку "Перепровести движения"->"Остатки на складах". Если по модели РМ ранее были удалены все движения, то после пересчета остаток станет равным нулю и можно будет удалить модель. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
Scherbak.Alexandr Почетный активист проекта
Зарегистрирован: 23.12.2015 Сообщения: 112 Откуда: Ростовская обл., г.Новочеркасск
|
Добавлено: Пт Апр 14, 2017 19:10 14.04.2017 Заголовок сообщения: |
|
|
Michael писал(а): | Действия для удаления модели РМ в целом были сделаны корректные. Хотя можно было поступить проще: зайти в Сервис - Обслуживание и нажать кнопку "Перепровести движения"->"Остатки на складах". Если по модели РМ ранее были удалены все движения, то после пересчета остаток станет равным нулю и можно будет удалить модель. |
Я эту кнопку боюсь нажимать =) Т.к. в программе я работаю не один, а ещё и мой сотрудник, который не всегда отдаёт себе отчёт в выполняемых действиях, боюсь, что поплывёт количество РМ и НРМ =) А это потом опять сидеть и разруливать результаты верификации =D |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Пн Апр 17, 2017 16:24 17.04.2017 Заголовок сообщения: |
|
|
Насчет удаления прихода. Если говорить о РМ, то логика программы такова, что такие действия не должны блокироваться. Ведь по одной модели РМ может быть несколько приходов, какой из них можно удалять, а какой нет? Здесь же не партионный учет ведется. Максимум, что можно сделать - это предупреждение о том, что после удаления прихода остаток станет отрицательным. В тоже время удаление прихода блокируется, если на него завязаны НРМ. Так что ошибки здесь нет, все работает корректно. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
Scherbak.Alexandr Почетный активист проекта
Зарегистрирован: 23.12.2015 Сообщения: 112 Откуда: Ростовская обл., г.Новочеркасск
|
Добавлено: Пн Апр 17, 2017 17:01 17.04.2017 Заголовок сообщения: |
|
|
Как Вы и написали, достаточно сделать проверку, что при удалении прихода остаток станет отрицательным. Хотя, опять же, при совершении операции в такой последовательности (удаление прихода, а потом движений) останется некорректная запись в поле SumQuantity. Либо должна производиться проверка при удалении последнего движения при отсутствующих приходах и обнулять соответствующее поле. Устранять данную проблему перепроведением движений считаю не совсем корректным =) |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Пн Апр 17, 2017 19:56 17.04.2017 Заголовок сообщения: |
|
|
Освежил в памяти, что такое SumQuantity. Это поле раньше, очень давно, использовалось для вывода инфы о количестве в раздел РМ. Но в дальнейшем оно перестало использоваться, и во всех запросах задействана сумма по данной модели РМ из таблицы Quantities. Т.к. иначе невозможно обеспечить корректное отображение количества при ограничении доступа по филиалам.
Я проверил, данное поле не используется в программе ни в запросах разделов/подразделов, ни в отчетах. При проверке на удаление записи из таблицы моделей это поле также не используется. Блокировка удаления происходила по другой причине - в таблице Quantities оставались записи, хоть и с нулевым остатком. Это будет исправлено и далее будет проверяться именно наличие ненулевого остатка на складах (помимо других проверок). _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
Scherbak.Alexandr Почетный активист проекта
Зарегистрирован: 23.12.2015 Сообщения: 112 Откуда: Ростовская обл., г.Новочеркасск
|
Добавлено: Пн Апр 17, 2017 21:58 17.04.2017 Заголовок сообщения: |
|
|
Это хорошая новость, спасибо =)
Буду знать при создании своих запросов к БД =) А то присланная схема БД уже ооооочень далека от действующей. |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Вт Июн 06, 2017 16:23 06.06.2017 Заголовок сообщения: |
|
|
Ошибка исправлена в версии 2.10. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
|