Цитата: FinSoft ➤ Олег, то есть фифо у Вас есть, я просто не так понял один из предыдущих постов. Меня больше интересует, что такое "партия" в Вашем случае.
В Купце партия - это строка приходной накладной. Когда выполняется построение аналитических отчетов, распределение расходов по партиям закупки выполняется "на лету" в хронологическом порядке. Можно задать конкретную партию прихода в расходе, но это редкий случай. Соответственно, можно спокойно поменять цену, поставщика и т.п. в приходной накладной в открытом для изменений периоде, отчеты останутся корректными. В закрытых периодах сохраняется сводная информация, которая используется программой автоматически по мере обнаружения. Это один из способов оптимизации производительности.
Расчет распределения по партиям "на лету" требует вычислительных ресурсов, особенно в рознице, где велик процент пересортицы. Например, оборотка по всему ассортименту с расчетом маржи за месяц для сети из 16 продуктовых магазинов составляет примерно 3 минуты.
Если магазинов будет 200, то это уже долго и надо дополнительно оптимизировать. Конечно, время сократится, если поставить нормальный сервер и серверную операционку вместо обычного компьютера "под сервер". Но все равно, некоторые тяжелые отчеты, видимо, придется перенести в автомат на ночное время.
Как у Вас хранится информация и распределение по партиям на физическом уровне, если не секрет?
Я с удовольствием с вами поделюсь, но по частям. Как-то пропустил ваш вопрос, сейчас только увидел...
У меня тоже партия - это строка приходной накладной. Связь всех баз осуществляется по уникальным кодам (8 симв).
Не возможно так просто их все описать. Эта строка в приходе имеет свой уникальный код (уникальный в пределах этого склада). В ней же фиксируется связь с ассортиментом и т.д.
Так вот любая строка расхода обязательно привязана к конкретной строке прихода по уникальному коду. Поэтому у меня нет расчетов "на лету". Все строго. Если нужны обороты с расчетом дохода, для каждой строки расхода ищется своя строка партии из прихода (по индексу). И оттуда в анализ я не только приходную цену и доход выдаю, но и любой реквизит не только из этой строки прихода, но и из заголовка прихода (по нему свое уникальное поле). Если это нужно.
Клиент сам в быстром построителе отчетов выбирает глубину анализа. Есть и встроенные готовые отчеты, естественно.
От этой глубины время тоже зависит.
По времени расчета. Тут много параметров нужно уравнять, чтобы сравнивать.
- Размер (объем) баз магазина.
- Мощность самой вычислительной машины, у меня - терминал сервер
- Степень ее загрузки, на сервере сидят от одного до 20 пользователей, ночью расчет идет быстрее
- Канал - ну пусть будет гигабитный, есть и быстрее
- Мощность (скорость) файловой системы сервера = скорость чтения. Тоже зависит от загрузки. Ночью быстрее.
Я сейчас потестю, напишу на примере разных масштабов магазинов.
Потестю в минимальном разрезе, например:
Магазин, оборот, доход.
с итогами по сети...