Коллеги! Предлагаю обсудить модуль «Управление запасами»

Автор Сообщение
Удалён
Гость

Добавлено: 03.02.2006 10:04 Заголовок сообщения: Коллеги! Предлагаю обсудить модуль "Управление запасами
В силу субъективных обстоятельств у нас внедрена (внедрена ли?) прогаммка iSCALA. ERP системой назвать ее не поднимается язык. Кроме бухгалтерии (довольно приличной), больше ничего не удается использовать. В данный момент пытаемся притянуть модуль УЗ в качестве системы учета запасов. Столкнулись с большими проблемами — отсутствие нормальной работы с комплектами (нет сальдо, неработает перемещение). Отсутствует заказ на перемещение — проводка перемещения однофазовая. Неужели система умерла лет 10 назад, а сейчас живет только за счет маркетинга? Хочется услышать мнения людей, которые используют эту программку не только в качестве дорогой замены 1С-Бухгалтерии.

PS Недавно мы проводили аудит со стороны SCALA нашего производственного процесса. Ничего предложить толкового так и не смогли. К сожалению iSCALA c трудом переваривает наши средние объемы операций. Как же она вообще работает в промышленности?

E-terminator
Почетный форумщик

Зарегистрирован: 03.01.2005
Сообщения: 46
Откуда: град Св. Петра

Добавлено: 06.02.2006 16:30 Заголовок сообщения:
На этом форуме в том или ином виде и так обсуждаются вопросы по модулю «Управление запасами» в частности. А Ваше послание чрезмерно эмоционально (что можно понять), но не конструктивно. Думаю, что если Вы будете поднимать более конкретные темы, чем про обсуждение недостатков «программки скалы», то вероятность получения Вами ответов на интересующие вопросы возрастет.
Удалён
Гость

Добавлено: 07.02.2006 12:31 Заголовок сообщения:
Спасибо за комментарий.
Но мне хотелось бы услышать о примерах реального использования SCALA в качестве системы учета складских запасов. С какими объемами ( в строках проводок в день) вы работаете.
К сожалению этот вопрос пока на форуме не поднимался.
Удалён
Гость

Добавлено: 07.02.2006 12:38 Заголовок сообщения:
А эмоциональность моя очевидно связана с отсутствием ответа на проблему в течении 6 месяцев со стороны SCALA.

Проблема — очень низкая производтельность и отсутствие функционала.

Вывод — оперативный учет запасов на SCALA не может быть построен.

Доп. вывод — SCALA — не может управлять ресурсами предприятия.

E-terminator
Почетный форумщик

Зарегистрирован: 03.01.2005
Сообщения: 46
Откуда: град Св. Петра

Добавлено: 07.02.2006 13:22 Заголовок сообщения:

Paul77 писал(а):
Спасибо за комментарий.
Но мне хотелось бы услышать о примерах реального использования SCALA в качестве системы учета складских запасов. С какими объемами ( в строках проводок в день) вы работаете.
К сожалению этот вопрос пока на форуме не поднимался.

Подсчитал. У нас среднее количество строк в SC07 за день — ок. 5200.

Удалён
Гость

Добавлено: 07.02.2006 15:29 Заголовок сообщения:
У нас — максимум 1412, в среднем — 300.
aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 07.02.2006 15:36 Заголовок сообщения: Re: Коллеги! Предлагаю обсудить модуль "Управление запа

E-terminator писал(а):

Paul77 писал(а):
Спасибо за комментарий.
Но мне хотелось бы услышать о примерах реального использования SCALA в качестве системы учета складских запасов. С какими объемами ( в строках проводок в день) вы работаете.
К сожалению этот вопрос пока на форуме не поднимался.

Подсчитал. У нас среднее количество строк в SC07 за день — ок. 5200.

Разумеется, для большого количества клиентов Скалы это ничто, хотя, очевидно, что 5200 — это «средняя температура по больнице», как в таких случаях говорится, реальные данные имеют разброс от 1 до 78000 строк в день.

Paul77 писал(а):
Проблема — очень низкая производтельность и отсутствие функционала.

Однако, на мой взгляд, количество проводок в день совершенно не должно быть реальным ориентиром для оценки производительности, в лучшем случае, неким косвенным показателем. На скорость работы может также влиять количество записей в таблице партий (SC33), в таблице позиций запасов (SC01), а также даже в таблице курсов валют. Могу согласиться, что система часто обрабатывает массивы данных внутри программы, совершенно неоптимальным способом, однако, вполне возможно, что можно проделать некие действия, способные улучшить ситуацию. Имея под 300 внешних пользовательских отчетов, мы недавно вынуждены были откорректировать все запросы, используемые для построения этих отчетов, разрешив так называемое «Грязное чтение» с помошью добавления в текст запроса «(NOLOCK)», например,

Код:
SELECT
SC07003 AS [StockCode],
SC01002 + ‘ ‘ + SC01003 AS [Description],
SC07002 AS [TransactionDate],
SC07009 AS [Warehouse],
SC07007 AS [OrderNumber],
SC07006 AS [Remark],
SC07027 AS [ToFromWarehouse],
[TransactionType] = CASE
   WHEN (SC07001 = ’00’ AND SUM(SC07004) > 0) THEN ‘Приход на склад’
   WHEN (SC07001 = ’00’ AND SUM(SC07004) < 0) THEN ‘Возврат со склада’
   WHEN (SC07001 = ’01’ AND SUM(SC07004) < 0) THEN ‘Выдача со склада’
   WHEN (SC07001 = ’01’ AND SUM(SC07004) > 0) THEN ‘Возврат на склад’
   WHEN (SC07001 = ’02’ AND SUM(SC07004) > 0) THEN ‘Оприходование излишков’
   WHEN (SC07001 = ’02’ AND SUM(SC07004) < 0) THEN ‘Списание недостачи’
   WHEN (SC07001 = ’04’ AND SUM(SC07004) < 0) THEN ‘Перемещение на склад ‘ + SC07027
   WHEN (SC07001 = ’04’ AND SUM(SC07004) > 0) THEN ‘Перемещение со склада ‘ + SC07027
END,
SUM(SC07004) AS [Qty],
[BinNumber] = CASE SC07026 WHEN » THEN ‘Н/У’ ELSE SC07026 END,
0 AS [OB],
[TT00] = CASE SC07001 WHEN ’00’ THEN SUM(SC07004) ELSE 0 END,
[TT01] = CASE SC07001 WHEN ’01’ THEN SUM(SC07004) ELSE 0 END,
[TT02] = CASE SC07001 WHEN ’02’ THEN SUM(SC07004) ELSE 0 END,
[TT04] = CASE SC07001 WHEN ’04’ THEN SUM(SC07004) ELSE 0 END
FROM SC070100 SC07 (NOLOCK)
   INNER JOIN SC010100 SC01 (NOLOCK)
      ON SC07003 = SC01001
WHERE (SC07003 BETWEEN @SC1 AND @SC2)
AND (SC07001 IN (’00’, ’01’, ’02’, ’04’))
AND (SC07002 BETWEEN @d1 AND @d2)
AND (SC07009 BETWEEN @WH1 AND @WH2)
AND (SC07026 BETWEEN @Bin1 AND @Bin2)
GROUP BY SC07003,
SC01002 + ‘ ‘ + SC01003,
SC07002,
SC07009,
CASE SC07026 WHEN » THEN ‘Н/У’ ELSE SC07026 END,
SC07027,
SC07007,
SC07006,
SC07001
HAVING SUM(SC07004) <> 0
ORDER BY Warehouse,
StockCode,
TransactionDate,
BinNumber


это позволило в некоторых случаях избежать проблем.

Paul77 писал(а):
Вывод — оперативный учет запасов на SCALA не может быть построен.


Ну отчего же… Просто, возможно, для Вас она не слишком подходит, Вам, возможно, требуется некая функциональность, которая в Скале отсутствует, как написано ниже:

Paul77 писал(а):
Столкнулись с большими проблемами — отсутствие нормальной работы с комплектами (нет сальдо, неработает перемещение).

Удалён
Гость

Добавлено: 08.02.2006 15:08 Заголовок сообщения:
Коллеги! У нас суммарно по всем документам в среднем в день — 9000 строк. В пиковые дни доходит до 15000. Если в SCALA вести учет по всем зонам мат.ответственности, то объем увеличится в 3-4 раза.
Среднее время обработки одной строки в SCALA от 1,5 до 2,5 сек.

Если все эти цифры транспонировать на сутки, то занятость системы может достигнуть 15-17 часов, без учета обслуживания и бэкапирования.

Я предполагаю, что эти объемы не так чтобы очень велики. Просто мы работаем с розницей и необходимо вести учет запасов день в день.

Да, хочу добавить, что все эти объемы строк у нас создаются не в ручную, а через Connectivity из внешней системы.

Не наталкивался ли кто-либо на ограничения SCALA по времени обработки?
К сожалению Дэймон О пока не ответил на наш запрос. По слухам идет внутренняя переписка с разработчиками. А разработчики, хотя и сидят в Москве, но управляются из Швеции.

E-terminator
Почетный форумщик

Зарегистрирован: 03.01.2005
Сообщения: 46
Откуда: град Св. Петра

Добавлено: 08.02.2006 15:29 Заголовок сообщения:
А, Connectivity (в простонародье — «конъюнктивит»)!!! Это отдельная песня. Ничего про производительность его не могу сказать, т.к. реально не видел в работе (только на тестовых примерах в R&D, а это ни о чем не говорит). Единственно, что могу предложить в таком случае — это все же промониторить производительность самого сервера и сети. Во всяком случае будет уверенность, что низкая производительность связана именно с бизнес-логикой Скалы + Connectivity, а не с «железом», операционной системой и SQL server.
Для мониторинга производительности (ежели не пользоваться дорогими или «крякнутыми» системами) можно порекомендовать бесплатную систему от Microsoft — SQL Health & History (SQLH2). К ней прилагается и Report Pack (набор отчетов) под Reporting Services
aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 08.02.2006 15:59 Заголовок сообщения: Обработка 1 события

Paul77 писал(а):
Среднее время обработки одной строки в SCALA от 1,5 до 2,5 сек.

Да, хочу добавить, что все эти объемы строк у нас создаются не в ручную, а через Connectivity из внешней системы.

Не наталкивался ли кто-либо на ограничения SCALA по времени обработки?

Насколько я предполагаю, что при использовании «Коньюктивита», что при обычном импорте проводок, логика следующая: Скала обрабатывает весь массив данных построчно, как, если бы это было введено в систему «вручную».
Происходит это примерно так (порядок условный, я не претендую на то, что Скала делает именно так, как я описываю):
1. Проверяется наличие кода запаса, склада, партии, учетных измерений и т.п.
2. Создается проводка, корректируется или создается новая партия, корректируется информация по складам, статистика по запасу и т.п.

И при этом я не уверен, что производится это оптимальным образом, т.к. многократно замечал (особенно при работе с модулем Управления Производством), что программа хватает полный массив данных, и уже внутри крутит его перебором, посылая отдельные запросы к SQL серверу вместо одного запроса с грамотно наложенными ограничениями в WHERE или с корректно построенными взаимосвязями между таблицами в виде JOIN

Проделав все это, система берется за следующую строку и цикл повторяется.

Это все старое наследие, от которого, скорее всего, еще не скоро удастся избавиться, ибо речь идет, насколько я могу предположить, о миллионах строк кода.

Удалён
Гость

Добавлено: 08.02.2006 16:06 Заголовок сообщения:
А я полагал, что «конъюктивит» — это новая штука. 2 года назад его внедряли единицы предприятий.

Да — мы еще проводили исследование по импортированию аналогичных данных через текстовые файлы. Скорость формирования проводок при этом способе была выше почти в 5 раз. Но такой способ интеграции для нас не приемлем. Данные формируются постоянно и с разной частотой в течении всего рабочего дня.

aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 08.02.2006 16:23 Заголовок сообщения:

Paul77 писал(а):
А я полагал, что «конъюктивит» — это новая штука. 2 года назад его внедряли единицы предприятий.

Это новая штука, но остальное-то старое, т.е. проводки по запасам все равно создаются в соответствии со старой методикой. Может быть я ошибаюсь, но Connectivity — это просто «надстройка», возможность «запихивания» данных не с помощью «ручного» импорта данных, а более приемлемым автоматическим способом, без участия оператора. При этом, насколько я полагаю, в определенный момент все равно используется тот же самый инклюдник (кусок кода), что и в определенный момент ручного ввода проводок. Т.е., как бы имеются 2 разные двери, которые разными коридорами (новым, с евроремонтом и старым, слегка потертым) все равно приводят в конечном итоге в одну комнату в старом здании.

Удалён
Гость

Добавлено: 08.02.2006 16:27 Заголовок сообщения:
Да, но старый-то способ почти на порядок быстрее Smile)

Мы также определили, что время обработки документов линейно зависит от кол-ва строк и не зависит, на сколько документов эти строки разбить. Это косвенно подтверждает, что SCALA обрабатывает все документы построчно.

Но почему же текстовый импорт работает быстрее?

PS SCALA всетаки проявила заинтересованность в этих тестах и возможно в ближайшее время мы получим какие-то данные по поводу ее быстродействия по работе с большими объемами данных.

aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 08.02.2006 16:34 Заголовок сообщения:

Paul77 писал(а):
Да, но старый-то способ почти на порядок быстрее Smile

Ну, так новый коридор-то в 3 раза длиннее Wink

Удалён
Гость

Добавлено: 09.02.2006 11:22 Заголовок сообщения: Re: Коллеги! Предлагаю обсудить модуль "Управление запа

aav писал(а):
Имея под 300 внешних пользовательских отчетов, мы недавно вынуждены были откорректировать все запросы, используемые для построения этих отчетов, разрешив так называемое «Грязное чтение» с помошью добавления в текст запроса «(NOLOCK)»


У нас в таблице SC07 сейчас ок. 5 млн. записей, прирост в среднем ок. 7000, максимум 13000 записей.

Год назад со скоростью Скалы также были серьезные проблемы, помимо того, что купили новый более мощный сервер, пришли к таким выводам: во-первых, как рекомендует aav, всегда используем в «читающих» внешних отчетах хинт nolock, в особеннности для больших таблиц модуля управления запасами. До этого неоднократно наблюдали ситуацию, что все пользователи просто подвисают в Скале, пока обрабатывается какой-нибудь внешний отчет, использующий, например, SC07. Такие отчеты отловили с помощью такого скрипта (запускаем, когда пользователи начинают звонить, что они зависли):

Код:
—кто всех заблокировал
select getdate(), ltrim(str(spid))+’ ‘+ ltrim(rtrim(hostname))+’ ‘+
        rtrim(loginame)+’(’+rtrim(program_name)+’)’
from  master.dbo.sysprocesses (nolock)
where spid  in (select blocked from master.dbo.sysprocesses A(nolock) where blocked != 0)
and blocked=0


Во-вторых, оптимизировали несколько тяжелых запросов во «внешних» программах, которые хоть и внешние (используеют только скальскую базу), но на скорость Скалы, тем не менее влияют, попросту загружая сервер или блокируя, используемые Скалой таблицы, а она, бедняжка, их ждет, а ее в это время ругают Smile
Специалисты рекомендуют регулярно составлять топ 100 самых медленно выполняющихся запросов (через профайлер), таким образом можно обнаружить массу интересного, как мы в свое время, например Smile

aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 24.03.2006 15:07 Заголовок сообщения: Поделитесь опытом

Paul77 писал(а):
Да — мы еще проводили исследование по импортированию аналогичных данных через текстовые файлы. Скорость формирования проводок при этом способе была выше почти в 5 раз. Но такой способ интеграции для нас не приемлем. Данные формируются постоянно и с разной частотой в течении всего рабочего дня.

Поделитесь опытом: насколько реально настроить Connectivity таким образом, чтобы при совершении определенного действия вне Скалы информация, например, об отгрузке по заказу на продажу, попадала в Скалу в течение 0.5-1-2-3 минут? Я в данном случае не веду речь про те проблемы, что Вы описываете — с медленностью самого процесса обработки большого количества строк, предположим, что этих самых строк одномоментно не больше 10. Сможет ли оператор распечатать накладную из Скалы через 2 минуты после того, как нажмет кнопку, формирующую входную информацию для этого самого коннективити? Что показывает практика? Поделитесь своим опытом с учетом того, что большинство из нас в отношении «коньюктивита» — «чайники» Wink