• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Проблемы при работе двух и более человек

Автор Oleg Kabanov, Лютий 24, 2011, 08:58:24

Попередня тема - Наступна тема

0 Користувачі і 2 Гостей дивляться цю тему.

Oleg Kabanov

Рыскал по форуму, но ответа на свой вопрос не нашел. Создал эту тему.
Суть в следующем.
Пришел товар: N1, N2,... Nn
Два человека одновременно выписывают накладные своим Клиентам.
При формировании накладной они видят, что, например,  N1 есть 20 шт, а N2 - 10 шт.
Первый продавец выписывает  N1 - 13 шт и N2 - 6 шт.
Второй выписывает N1 - 9 шт и N2 - 8 шт.
Каждый из них видит, что товара ему хватает и уверенный в этом сохраняет и проводит накладную.
А склад при сборке заказа выясняет, что не хватает 2 шт N1 и 4 шт N2.
И по складу "висит" "минус".
Был совет сперва формировать счета-фактуры, а потом а их основании делать накладные.
Пробовали. Результат - тот ,же.
Для нас это очень критично. Т.к. процесс прихода товара, выписки счетов и оплата Клиентами по некотором группам товаров происходит в течение одного рабочего дня. И получается, что Клиент перевел мне деньги, а через час-полтора складом выявляется нехватка товара.
Вопрос: кто как борется с такой проблемой?

admin

Используйте резерв в счете фактуре.

Yurakha

Цитата: Oleg Kabanov від Лютий 24, 2011, 08:58:24
Вопрос: кто как борется с такой проблемой?
Примерно об этом я писал тут http://www.softbalance.com.ua/forum/index.php?topic=1466.msg8267#msg8267 ,
а меня почему-то никто не поддерживает. К стати я бы еще галку резерв в счете фактуре , хотел бы видеть по умолчанию , как в расходной накладной , а видеть сразу возле количества по складу количество в резерве вообще очень необходимая информация.

twiks

У наших партнеров в базе, если к примеру кто-то выписал товарную позицию, но еще не провел, то так называемая карточка товара блокируется для других сотрудников до тех пор, пока он не проведет накладную. Соответственно нужно сделать и в нашей проге. Как только товар лег в накладную, другие не могут его выписать пока его не проведут.

Yurakha

Цитата: twiks від Лютий 26, 2011, 22:59:46
У наших партнеров в базе, если к примеру кто-то выписал товарную позицию, но еще не провел, то так называемая карточка товара блокируется для других сотрудников до тех пор, пока он не проведет накладную. Соответственно нужно сделать и в нашей проге. Как только товар лег в накладную, другие не могут его выписать пока его не проведут.
В принципе , так как сделано в Укрскладе , тоже нормально , главное успеть зарезервировать товар в счете (сохранить счет и поставить галочку резерв) или сохранить накладную с галочкой провести. Но пока эти документы не сохранены , может произойти конфликт , т.е. пользователи могут одновременно выписывать одну и ту же товарную позицию. Хороше бы конечно блокировать одновременный доступ ! 

Oleg Kabanov

Цитатаглавное успеть зарезервировать товар в счете

Не совсем понимаю, что это даст при одновременной работе? Те же проблемы и останутся. Может я чего-то не понимаю?
Набираем счет с галочкой "Резервировать"... И в чем разница с накладной, в моем случае?
Поясните, пожалуйста!
Спасибо.

twiks

#6
Я о чем и писал! Как только товар выбирается в накладной (накладная не проводилась еще!) карточка товара блокируется для выписки другими пользователями. И не надо ничего резервировать! И сохранять ничего не надо! Только кликнули по товару, в накладной появилась хоть 1шт позиции, все! остальные этот товар выписать не могут до тех пор пока пользователь не сохранит и проведет документ!
Например:
Я открыл новую накладную, в таблице вибираю клавиатуру свен 303 и кликаю по ней чтоб он переехала в нижнюю часть (где формируется накладная), с этого момента к карточке товара свен 303 никто не получит доступ, до тех пор, пока я не сохраню свой документ. Так работает у наших партнеров. Яснее объяснить не смогу. Думаю ув. Разработчик меня поймет, я ему всегда в такой манере объясняю и он всегда все прекрасно понимает.

Павло

Цитата: twiks від Лютий 27, 2011, 23:10:57
Я о чем и писал! Как только товар выбирается в накладной (накладная не проводилась еще!) карточка товара блокируется для выписки другими пользователями. И не надо ничего резервировать! И сохранять ничего не надо! Только кликнули по товару, в накладной появилась хоть 1шт позиции, все! остальные этот товар выписать не могут до тех пор пока пользователь не сохранит и проведет документ!
Например:
Я открыл новую накладную, в таблице вибираю клавиатуру свен 303 и кликаю по ней чтоб он переехала в нижнюю часть (где формируется накладная), с этого момента к карточке товара свен 303 никто не получит доступ, до тех пор, пока я не сохраню свой документ. Так работает у наших партнеров. Яснее объяснить не смогу. Думаю ув. Разработчик меня поймет, я ему всегда в такой манере объясняю и он всегда все прекрасно понимает.
Думаю, що це не вихід з положення. Якщо накладна, яка набирається, дуже велика - іншим користувачам прийдеться довго чекати. А для чого, якщо на залишку є, наприклад 50 шт, а виписується 1 шт?

Yurakha

#8
Цитата: Oleg Kabanov від Лютий 27, 2011, 21:11:32
Цитатаглавное успеть зарезервировать товар в счете
Не совсем понимаю, что это даст при одновременной работе? Те же проблемы и останутся. Может я чего-то не понимаю?
Набираем счет с галочкой "Резервировать"... И в чем разница с накладной, в моем случае?
Поясните, пожалуйста!
Спасибо.
Вы все правильно понимаете , при одновременном обращении к одному и тому же товару , разницы никакой.
В этой ситуации выходом может быть только блокировка одновременного доступа , короче как писал twiks.
Считаю также , что это серьезный недостаток , который требует доработки.
Цитата: Павло від Лютий 28, 2011, 01:42:50
Думаю, що це не вихід з положення. Якщо накладна, яка набирається, дуже велика - іншим користувачам прийдеться довго чекати. А для чого, якщо на залишку є, наприклад 50 шт, а виписується 1 шт?
Нічого страшного , хай краще почекають . Тим більше , що це стосуеться не блокуванню всієї накладної , а тільки конкретної товарної позиції до якої користувачі звернулись одночасно. Це більш правильна логіка мережевих програм.

admin

Блокировать смысла не вижу. Зачем? Если уже делать специальную таблицу блокировки и проверки товаров которые есть в накладных то уже проще сделать таблицу дополнительных движений и при добавлении товара другим пользователем просто высчитывать остаток с учетом таблицы дополнительных движений, усилий столько же, а удобства работы явно больше.

Но тут могут возникнуть проблемы висячих товаров. Т.к. после каждого добавления надо делать комит транзакции, а это окончательное фиксирование записи в базе. Это делается для того чтобы другие сетевые клиенты видели изменения в базе. И если например в этот момент ребутнуть комп либо снять задачу, то товар останется висеть в базе дополнительных движений навсегда. Конечно можно поставить чистку например в пол. часа т.к. если набирают документ так долго то что то не так. Но это серьёзная доработка и чтобы ее "пропихнуть" в нашем списке доработок надо весомое количество просьб от пользователей на поддержку.

Сколько у вас менеджеров выписывают документ одновременно что возникла такая потребность и какая сфера деятельности?

Oleg Kabanov

ЦитатаСколько у вас менеджеров выписывают документ одновременно что возникла такая потребность и какая сфера деятельности?
Мы торговая компания. Торгуем импортными колготками и женским бельем. Выписывает одновременно сейчас три человека.


Systems

Цитата: Oleg Kabanov від Лютий 24, 2011, 08:58:24
Вопрос: кто как борется с такой проблемой?
ставлю галочку "Перевіряти кількість списаного товару перед збереженням документа", яка знаходиться в
Опції/Параметри/Система

другому менеджеру перед збереженням просто видасть повідомлення що кількість товару не відповідає наявності.
чи такий варіант не влаштовує ?

Yurakha

Цитата: admin від Лютий 28, 2011, 15:02:18
Блокировать смысла не вижу. Зачем? Если уже делать специальную таблицу блокировки и проверки товаров которые есть в накладных то уже проще сделать таблицу дополнительных движений и при добавлении товара другим пользователем просто высчитывать остаток с учетом таблицы дополнительных движений, усилий столько же, а удобства работы явно больше.
Но тут могут возникнуть проблемы висячих товаров. Т.к. после каждого добавления надо делать комит транзакции, а это окончательное фиксирование записи в базе. Это делается для того чтобы другие сетевые клиенты видели изменения в базе. И если например в этот момент ребутнуть комп либо снять задачу, то товар останется висеть в базе дополнительных движений навсегда. Конечно можно поставить чистку например в пол. часа т.к. если набирают документ так долго то что то не так. Но это серьёзная доработка и чтобы ее "пропихнуть" в нашем списке доработок надо весомое количество просьб от пользователей на поддержку.
Не совсем понятно о какой таблице идет речь , я не специалист , но по-моему намного проще стандартными средствами базы данных , просто запретить одновременный общий доступ к позиции , которая в данный момент имеет некий статус отличный от остальных товарных позиций , т.е. когда такая позиция "упала" вниз , в выборку для счета или накладной. Тогда не возникнет остальных проблем. Смысл короче такой - если Вы сейчас откроете или будете редактировать в винде любой файл , а другой пользователь или тот же пользователь , через другой проводник захочет например удалить этот файл , то система откажет в доступе пока не завершится первое действие с файлом.   

admin

Цитата: Yurakha від Березень 01, 2011, 08:36:01
Не совсем понятно о какой таблице идет речь , я не специалист , но по-моему намного проще стандартными средствами базы данных , просто запретить одновременный общий доступ к позиции , которая в данный момент имеет некий статус отличный от остальных товарных позиций , т.е. когда такая позиция "упала" вниз , в выборку для счета или накладной. Тогда не возникнет остальных проблем. Смысл короче такой - если Вы сейчас откроете или будете редактировать в винде любой файл , а другой пользователь или тот же пользователь , через другой проводник захочет например удалить этот файл , то система откажет в доступе пока не завершится первое действие с файлом.   

Такого не будет, блокировать товар смысла ноль, если у вас позиций 1000 и ваши менеджеры выписывают по одному товару то что другому менеджеру надо ждать пока другой наберет накладную, а может он делает подборку и это будет минут 15, это просто ужас ждать второму клиенту 15 минут пока какой-то второй менеджер добавляет заказ другому. Тем более даже не представляю как это блокировать стандартными средствами базы. Плюс вам ответили выше:
http://www.softbalance.com.ua/forum/index.php?topic=1475.msg8421#msg8421

Yurakha

Цитата: admin від Березень 01, 2011, 09:08:52
Такого не будет, блокировать товар смысла ноль,
То , что такой доработки не планируется - понятно , а как люди таким пользуются ?
Цитата: twiks від Лютий 27, 2011, 23:10:57
Я о чем и писал! Как только товар выбирается в накладной (накладная не проводилась еще!) карточка товара блокируется для выписки другими пользователями. И не надо ничего резервировать! И сохранять ничего не надо! Только кликнули по товару, в накладной появилась хоть 1шт позиции, все! остальные этот товар выписать не могут до тех пор пока пользователь не сохранит и проведет документ!
Например:
Я открыл новую накладную, в таблице вибираю клавиатуру свен 303 и кликаю по ней чтоб он переехала в нижнюю часть (где формируется накладная), с этого момента к карточке товара свен 303 никто не получит доступ, до тех пор, пока я не сохраню свой документ. Так работает у наших партнеров. Яснее объяснить не смогу. Думаю ув. Разработчик меня поймет, я ему всегда в такой манере объясняю и он всегда все прекрасно понимает.
Извините за настойчивость , но мы все заинтересованы , чтобы продукт - Укрсклад , с каждой версией становился
все лучше и удобнее. Лично мне есть с чем сравнивать , мы сейчас плавно переходим со своей старой базы на Укрсклад , так вот кроме очевидных достоинств Укрсклада , есть ряд существенных недостатков , если это интересно для разработчиков , могу написать конкретно.