FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

2.09 Невозможно удалить Модель РМ

 
Начать новую тему   Ответить на тему    Список форумов PrintStore.ru - система учета расходных материалов -> Исправленные ошибки
Предыдущая тема :: Следующая тема  
Автор Сообщение
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.
_________________
Любой путь начинается с первого шага
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов PrintStore.ru - система учета расходных материалов -> Исправленные ошибки Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group