Текущие компоненты

Название продукта Название компонента Тип Последняя версия Дата выхода
Галактика ERP 9.1L_OSTATKIRES

Справка по компоненту.

Количество версий компонента88
Количество рещенных задач159
Последная дата обработки компонента2023-12-17 18:10:36
Последная дата файла2023-12-16 17:31:35
Последная версия9.1.88.0

Новые задачи в этом компоненте

L_OSTATKI
102.119099
L_OSTATKI ( 9.1.6.0 )

Краткое описание :

0154. Оптимизация алгоритма пересчета складских остатков

Описание :

Предложение по новой функциональности контура логистики

Что измененно :


0154. Оптимизация алгоритма пересчета складских остатков
Проект:
0154. Оптимизация алгоритма пересчета складских остатков

Как измененно :


Реализован алгоритм пересчета остатков на DSQL. Скорость пересчета возросла от нескольких раз до нескольких сотен раз (в зависимости от конкретной СУБД и БД).
Запуск алгоритма регулируется настройкой:
"Настройки Галактики - Логистика - Складской учет - Расчет остатков с использованием DSQL"
По-умолчанию значение "нет", и запускается старый алгоритм на VIP. У пользователей с файл-серверной платформой будет запускаться данный алгоритм по-умолчанию, не зависимо от значения настройки.
Пользователи же с клиент-серверной архитектурой, имеющие проблемы с быстродействием, могут выставлять значение данной настройки в "да" с целью ускорить процесс пересчета.
L_OSTATKI
102.121038
L_OSTATKI ( 9.1.6.0 )

Краткое описание :

Оптимизация алгоритма расчета остатков на дату с созданием таблиц на стороне БД

Описание :

Предложение по новой функциональности модуля Складской учет

Что измененно :

Оптимизация алгоритма расчета остатков на дату с созданием
таблиц на стороне БД.
В текущем алгоритме все записи из таблицы Pick записываются в таблицу PlTune и
фильтр накладывается из этой таблицы условием where...in (select...
Если заменить алгоритм выгрузки пиков в физ. таблицу на таблицы создаваемые на
стороне БД, и подцепить их через join, то можно было бы выйграть не только в
быстродействии отработки самого запроса, но и перегрузку записей из пик в физ.
таблицу заменить одним запросом, т.к. в данный момент значительную часть
времени занимает данная перегрузка.

Пример кода создания таблицы Pick на стороне сервера:
function createPickTable(_pickTbl: integer): boolean;
{
result := false;

var hstr: longint;
hstr := 0;
var tblName: string[15];

tblName := 'pick_' + _pickTbl;
sqlDropTmpTable(tblName);

sqlAddStr(hstr, ' table ' + tblName );
sqlAddStr(hstr, ' ( ');
sqlAddStr(hstr, ' nRec: comp ');
sqlAddStr(hstr, ' ) ');
sqlAddStr(hstr, ' with index ');
sqlAddStr(hstr, '( ');
sqlAddStr(hstr, tblName + '0 = nRec ');
sqlAddStr(hstr, '); ');

var sql_result: integer;
sql_result := sqlCreateTmpTable(hstr, ctmNormal);

if sql_result <> tsOk
Message('Ошибка создания временной таблицы "' + tblName + '". Код ошибки:
[' + Sql_result + '].', Error);
else
result := true;

sqlFreeStmt(hstr);
}

Пример перегрузки из Pick в созданную таблицу на стороне БД:
function fillFiltFromPick(_pickConst: integer): boolean;
{
result := false;
pickConst := _pickConst;

var cntRec: longint;
cntRec := 0;
if getFirst pick = tsOk
{
if mtFlush(#Pick, mfFull) = tsOk// сброс изменений из Pick в БД
if mtRetrieve(#Pick, mfClear + mfFull) = tsOk // подымаем из бд данные
в память
if (sqlExecDirect('insert pick_' + _pickConst + ' (nRec) ' +
'select CREC from Pick ' +
'where (wList = #comp(' + string(cgPick_MC) + '))') =
tsOk)
{
cntRec++
}
}

if (cntRec > 0) and (cntRec < recordsInTable(#katMc))
result := true;
}

Данные функции можно вызывать из общей:
function filtPick(_pickConst: integer): boolean;
{
result := false;

if not(createPickTable(_pickConst))
exit;

if not(fillFiltFromPick(_pickConst))
exit;

result := true;
}

При этом создаваемые таблицы подключать в общий запрос уже можно через
иннерджоин:
if bFltMC
sqlAddStr(lQSpOrd, 'inner join pick_' + cgPick_MC + ' on spOrder.cMC =
pick_' + cgPick_MC + '.nRec ');

В качестве констант решено использовать константы из файла pick.inc/

Как измененно :

Относится к: Отчет наличия по МОЛ, Отчет наличия по
подразделению, Ведомость неликвидов.
Платформа: Oracle, SQL Server.
В алгоритме расчета сальдовых остатков на дату фильтры записываются в
созданную на стороне сервера временные таблицы. В следствии чего, удалось
повысить быстродействие самого расчета.
Быстродействие выполнения функции расчета сальдовых остатков на дату удалось
увеличить за счет сокращения времени обработки запроса на стороне сервера.
Повысить быстродействие за счет копирования записей из таблицы Pick не удалось.
При установке множества фильтров увеличение производительности может достигать
18 раз. Прирост производительности зависит от количества установленных фильтров
- чем больше установлено фильтров, тем выше прирост производительности.
L_OSTATKI
102.121881
L_OSTATKI ( 9.1.6.0 )

Краткое описание :

Выбор серийного номера при добавлении МЦ в спецификацию

Описание :

Накладные на отпуск

Что измененно :


При добавлении МЦ в спецификацию документов
(например накладной на отпуск) необходимо сразу
выбирать серийный номер добавляемого МЦ

Как измененно :


Добавлен выбор серийных номеров из интерфейса "Текущее наличие МЦ пор разрезам" в Сопроводительные документы и в ордера.
Для использования функционала необходимо установить параметр "Отображать серийные номера" в настройках интерфейса текущих остатков.
В нижней панели будут отображаться серийные номера (номер и серия) по разрезу Склад-МОЛ-МЦ-Партия без учета привязки к ЦУ.
При пометке МЦ или партии происходит автоматическая пометка имеющихся серийных номеров. После вставки записей в документ, серийные номера будут также привязаны к позициям спецификации.
Выбор серийных номеров из текущих остатков работает в расходных ордерах и следующих документах:
- Накладная на отпуск;
- Акт на пересортицу;
- Акт на списание;
- Акт на на перемещение между объектами;
- НВП;
- Транзитная накладная.
В других документах, даже если осуществить выбор из остатков с серийными номерами, то серийные номера не будут перенесены.
L_OSTATKI
102.122791
L_OSTATKI ( 9.1.6.0 )

Краткое описание :

В складских документах не заносится информация о МЦ

Описание :

Не знаю, какая именно часть модуля Складской учет, научите

Что измененно :

В складских документах(НВП, акт на пересортицу...) не заносится
информация о МЦ: тара, нетто, брутто, кол-во грузовых мест при выборе из
текущих остатков.
Например, в накладной на отпуск(Сбыт) - все заносится.

Как измененно :

Количество грузовых мест для складских документов заполняется
по настройке:
"Настройки Галактики \ Логистика \ Складской учет \ Сопроводительные документы
\ Автоматический расчет количества грузовых мест - да".
Заполнение тары, нетто и брутто добавлено для складских документов при выборе
из текущих остатков или текущих остатков в разрезе партий (НВП, Акт на
пересортицу, Акта на перемещение между объектами).
L_OSTATKI
102.123147
L_OSTATKI ( 9.1.6.0 )

Краткое описание :

Не фильтрует по группе МЦ в отчетах

Описание :

Наличие\по складам

Что измененно :

Не фильтрует по группе МЦ в отчетах (пользователь заявляет что
во всех, но я проверят только на выбранном в классификаторе проблемы).
Ставлю фильтр по одной группе, в отчете получаю МЦ, не входящие в эту группу.

В частности, при установке фильтра по группе "1031 Запчасти" в отчет попадают
также следующие МЦ
Автомат 1-полюсн.10А/5SY6110 10110006956
Автоэмаль AVE балтика-420 (0,8 кг) 10110000685
Автоэмаль AVE золот.-желтая-1035 МЛ-1120 (0,8кг) 10110000686
Автоэмаль AVE мурена-377 МЛ-1120 (0,8 кг) 10110000684
Автоэмаль AVE рубин-110 МЛ-1120 (0,8кг) 10110000688
Автоэмаль зеленая (0,8кг) МЛ-12 10110001785
Автоэмаль синяя МЛ1110 (0,8кг) 10110001867
Анкер клиновой 6х40. 10110000985
Арматура светосигнальная АВВ зеленая 220 АС/DC 10110006046
Арматура светосигнальная АВВ красная 220 АС/DC 10110006044
Бирка кабельная У 134 10110003221
Блок клемм 12х2 тип-винтовой сеч.2-6 10110006162
и т.д.
которые никак не относятся к группе "1031 Запчасти", а относятся к группе "1011
Производственные материалы"

Эта проблема по сути то же самое, что и в 102.122625, но та была снята из-за
отсутствия уточнения.

Привожу значения настроек у данного источника этой проблемы:
"Настройки Галактики \ Общие настройки системы \ Работа с МЦ, услугами \ Работа
с МЦ \ Иерархия групп МЦ" = кодовая
"Настройки Галактики \ Общие настройки системы \ Отчеты, расчеты \ Включать
МЦ/услуги из вложенных подгрупп в отчетах по группам" = нет
"Настройки Галактики \ Общие настройки системы \ Отчеты, расчеты \ Включать МЦ
в ближайшую или все группы по дереву в отчетах по группам " = (серая)в
ближайшую подходящую группу

Как измененно :

Исправлена некорректная работа с фильтрами, количество
выбранных позиция в которых превышает 32767.
L_OSTATKI
101.50913
L_OSTATKI ( 9.1.6.0 )

Краткое описание :

В акте выполненных работ выбирать остатки из модуля УС

Описание :

Акты выполненных работ

Что измененно :

Необходимо на закладке Материалы Акты выполненных работ
обеспечить возможность выбора из остатков модуля "Управление капитального
строительства"
Так же необходимо в позиции Акта выполненных работ хранить ссылку на Акт
передачи материалов на строительство которым материалы передавались на стройку
(если необходимо готова зарегистрировать это отдельной проблемой).

Как измененно :

Относится к: Акт выполненных работ (УКС \ Документы \ Акты)

В диалоге выбора направления АВР реализовано 4 варианта:
(.) Акт подрядчика
(.) Акт подрядчика (давальческие материалы)
(.) Акт собственный (хозспособ)
(.) Акт собственный (подряд)

Первый вариант: работает как нынешняя реализация АВР подрядчика.
Второй вариант: выбор и контроль при списании реализован на основе
строительных остатков.
Третий вариант: работает как нынешняя реализация АВР собственный - выбор и
списание из складских остатков;
Четвертый вариант: выбор и контроль при списании реализован на основе
строительных остатков.

При формировании "Акт подрядчика (давальческие материалы)" и "Акт собственный
(подряд)", выбор МЦ на соответствующей вкладке осуществляется из актов
передачи. Для этого реализовано следующее:
- при выборе МЦ по F3 вызывается интерфейс выбора МЦ из накладных для
возврата. Выбор в данном интерфейсе осуществляется из актов передачи
оборудования в монтаж и актов передачи материалов на строительство.
Использование расширенного интерфейса выбора из накладных для возврата задается
настройкой "Настройки Галактики \ Общие настройки системы \ Интерфейсы выбора \
В рекл.накладной вызывать расширенный интерфейс выбора при заполнении
спецификации"
- при выборе МЦ из текущих остатков (Ctrl+F3) открывается интерфейс
распределения выбранных остатков. Доступны для выбора спецификации актов
передачи оборудования в монтаж и актов передачи материалов на строительство.
- при формировании спецификации из смет по Ctrl+I, реализована последующая
возможность связывания выбранных позиция МЦ с актами передачи.
- в спецификации данного типа акта добавлено поле "Акт передачи".
- поле "Относится к позиции" в расширенной информации по МЦ недоступно.
- формирования расходных ордеров УКС.

Доработан алгоритм расчета доступного количества для актов передачи. При
расчета доступного количества для спецификации акта передачи учитываются
связанные с ними акты выполненных работ.
Связанные с актами передачи позиции акта выполненных работ учитываются при
формировании следующих отчетов:
Отчеты о МЦ у подрядчиков\
- Остатки МЦ;
- Движение МЦ;
- Ведомость переработки давальческого материала;
Отчеты об оборудовании у подрядчиков\
- Остатки оборудования;
- Движение оборудования;
- Реестр смонтированного оборудования;
- Отчет о состоянии монтажа оборудования подрядчиком.
L_OSTATKI
101.51380
L_OSTATKI ( 9.1.6.0 )

Краткое описание :

Торможение при построении отчета

Описание :

Наличие\по складам

Что измененно :

Первоисточник 101.51345

Возникает торможение системы у всех пользователей, если формируется отчет
Ведомости наличия по складам.

Как измененно :

Относится к: Отчеты наличия по МОЛ, подразделению; Ведомость
неликвидов.
Основной запрос расчета сальдовых остатков на дату разбит на два под-запроса,
в результате удалось повысить быстродействие выполнения расчета сальдовых
остатков на дату.
L_OSTATKI
101.51462
L_OSTATKI ( 9.1.6.0 )

Краткое описание :

Настройка для пересчета сальдовых/текущих остатков.

Описание :

пересчет сальдовых остатков

Что измененно :

Клиент просит создать настройки, контролирующие
возможность пересчета сальдовых и текущих остатков:

Складской учет(или УПЛ)/Операции/Сальдовые остатки/Пересчет сальдовых остатков
Складской учет(или УПЛ)/Операции/Текущие остатки/Расчет текущих остатков

Возможные значения настройки: запрещено, разрешено.

Это необходимо для оперативного открытия и закрытия доступа
кладовщикам к возможности пересчета остатков.
Кладовщики иногда замечают, либо у них есть подозрения,
что остатки в системе некорректны (как сальдовые, так и
текущие), разумеется, помогает пересчет остатков за
последний месяц (например). Т.к. кладовщиков в компании
много, им предоставлен доступ к пересчету, но только с
ведома контролирующего отдела. Только административными
методами решить проблему до конца нельзя, потому что по
невнимательности(или намеренному вредительству и
самоуправству) можно запустить пересчет по всему
каталогу МЦ, либо с первой даты ордера, что моментом
порушит остатки в системе и парализует работу
предприятия. Клиента не устраивает вариант закрытия
пункта меню для пользователей через "Права доступа",
т.к. им необходим более оперативный инструмент (без
пересчета прав и перезахода в систему).

Как измененно :

Добавлена настройка:
"Настройки Галактики \ Логистика \ Складской учет \ Разрешать пересчет остатков
и цен в расходных ордерах" - нет/да
По умолчанию настройка имеет значение "да".

При значении настройки "нет" пользователю запрещен пересчет сальдовых, текущих
остатков и цен в расходных ордерах, т.к. при данном пересчете также происходит
пересчет остатков.
Будет выдаваться соответствующее предупреждение с указанием настройки.

9.1.88.09.1.87.09.1.86.09.1.85.09.1.84.09.1.83.09.1.82.09.1.81.09.1.80.09.1.79.09.1.78.09.1.77.09.1.76.09.1.75.09.1.74.09.1.73.09.1.72.09.1.71.09.1.70.09.1.69.09.1.68.09.1.67.09.1.66.09.1.65.09.1.64.09.1.63.09.1.62.09.1.61.09.1.60.09.1.59.09.1.58.09.1.57.09.1.56.09.1.55.09.1.54.09.1.53.09.1.52.09.1.51.09.1.50.09.1.49.09.1.48.09.1.47.09.1.46.09.1.45.09.1.44.09.1.43.09.1.42.09.1.41.09.1.40.09.1.39.09.1.38.09.1.37.09.1.36.09.1.35.09.1.34.09.1.33.09.1.32.09.1.31.09.1.30.09.1.29.09.1.28.09.1.27.09.1.26.09.1.25.09.1.24.09.1.23.09.1.22.09.1.21.09.1.20.09.1.19.09.1.18.09.1.17.09.1.16.09.1.15.09.1.14.09.1.13.09.1.12.09.1.11.09.1.10.09.1.9.09.1.8.09.1.7.09.1.6.09.1.5.09.1.4.09.1.3.09.1.2.09.1.1.0