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

Экспорт номенклатуры с соблюдением группровки

Автор Ki_Khok, Травень 21, 2020, 13:10:16

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

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

Ki_Khok

Коллеги, прошу помощи!

В УкрСкладе не реализовано или я не нашёл возможность экспорта номенклатуры с соблюдением группировки (группа / подгруппа1 / подгруппа 1.1./товар).
Подсажите решение, как сохранить все товары с соблюдением такой сортировки, чтоб, например, перезалить в интернет-магазин.

AGSoft

В интернет-магазине обычно такой же принцип формирования групп как и в укрскладе. При необходимости смогу вытянуть из базы структуру групп/подгрупп и привязку товаров к этой группе. Совместно с разработчиками интернет-магазина сможем втянуть туда.
Автоматизація бізнесу заощаджує ваш час. Я знаю, як це зробити.    ✆ +38 050 669 18 76 (viber, telegram)    ✆ +38 098 970 970 1

molotokk

Цитата: Ki_Khok від Травень 21, 2020, 13:10:16
Коллеги, прошу помощи!

В УкрСкладе не реализовано или я не нашёл возможность экспорта номенклатуры с соблюдением группировки (группа / подгруппа1 / подгруппа 1.1./товар).
Подсажите решение, как сохранить все товары с соблюдением такой сортировки, чтоб, например, перезалить в интернет-магазин.
а що саме вам потрібно? які стовпчики з довідника товарів? кількість на складі? приблизно приклад наведіть
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

Ki_Khok

Цитата: molotokk від Травень 21, 2020, 15:55:39
Цитата: Ki_Khok від Травень 21, 2020, 13:10:16
Коллеги, прошу помощи!

В УкрСкладе не реализовано или я не нашёл возможность экспорта номенклатуры с соблюдением группировки (группа / подгруппа1 / подгруппа 1.1./товар).
Подсажите решение, как сохранить все товары с соблюдением такой сортировки, чтоб, например, перезалить в интернет-магазин.
а що саме вам потрібно? які стовпчики з довідника товарів? кількість на складі? приблизно приклад наведіть

Наприклад дерево груп товарів поділяється в 1 порядку на, наприклад, шорти та футболки. Футболки в 2му порядку поділяються на "Поло" та "з Довгим рукавом", кожний другий порядок поділяється на 3 порядок за кольорами і вже в ретьому порядку - розміри. Теж саме з шортами - довгі/короткі в другому порядку, з кишенями/ без кишень  - в третьому, кольори - в четвертому і потім кожний колір за розмірами.
Так от зберегти номенклатуру з такими группами - неможливо або я не знайшов. Зберігається тільки повним списком товарів без будь-яких групп: футболки всі під ряд, шорти всі під ряд, сорочки всі під ряд, паски всі під ряд і т.д.

Номенклатура більше 2к одиниць.... Зовсім не хочеться ручками знову це все вносити в інтернет магазин....

molotokk

з номенклатурою груп/підгруп я зрозумів, а які вимоги до довідника товарів? тобто які пункти з нього потрібно??  і на якій платформі і-нет магазин??
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

Ki_Khok

Цитата: molotokk від Травень 21, 2020, 22:14:38
з номенклатурою груп/підгруп я зрозумів, а які вимоги до довідника товарів? тобто які пункти з нього потрібно??  і на якій платформі і-нет магазин??

Мене цікавить саме зберегти дерево номенклатур. Стовпчики саме товарів, шо вигружаються, мене влаштовують

molotokk

Цитата: Ki_Khok від Травень 22, 2020, 08:38:54
Цитата: molotokk від Травень 21, 2020, 22:14:38
з номенклатурою груп/підгруп я зрозумів, а які вимоги до довідника товарів? тобто які пункти з нього потрібно??  і на якій платформі і-нет магазин??

Мене цікавить саме зберегти дерево номенклатур. Стовпчики саме товарів, шо вигружаються, мене влаштовують
1. які саме стовпчики з довідника вам треба? напр: код, назва, ціна продажна і т.д.
2. і на якій платформі і-нет магазин??
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

admin

#7
В меню Опции : SQL менеджер выполните скрипт для отображения остатков:
SELECT
  gr.group_name,
  (SELECT FIRST 1 SKIP 0 ss.part FROM split_string(gr.group_name, '/') ss) AS group0,
  (SELECT FIRST 1 SKIP 1 ss.part FROM split_string(gr.group_name, '/') ss) AS group1,
  (SELECT FIRST 1 SKIP 2 ss.part FROM split_string(gr.group_name, '/') ss) AS group2,
  (SELECT FIRST 1 SKIP 3 ss.part FROM split_string(gr.group_name, '/') ss) AS group3,
  (SELECT FIRST 1 SKIP 4 ss.part FROM split_string(gr.group_name, '/') ss) AS group4,
  tz.kolvo,
  t.*,
  c.short_name AS curr_name,
  c_out.short_name AS curr_name_out
FROM 
  tovar_name t
    JOIN currency c ON (t.cena_curr_id  = c.num)
    JOIN currency c_out ON (t.cena_out_curr_id  = c_out.num)
    JOIN tovar_zal tz ON (tz.sklad_id = 3 AND t.num = tz.tovar_id)
    JOIN print_view_sklad(0,3) gr ON (t.tip = gr.num)
WHERE 
  t.visible = 1
ORDER BY
  gr.group_name, 
  t.name

ЗАМЕЧАНИЯ по скрипту.
1. Скрипт показывает товары на складе с ID = 3, поменяйте на свой ID склада (В ДВУХ МЕСТАХ)
2. Скрипт показывает группы товаров с вложенностью до 5, если надо больше просто добавляйте:
(SELECT FIRST 1 SKIP 5 ss.part FROM split_string(gr.group_name, '/') ss) AS group5,
(SELECT FIRST 1 SKIP 6 ss.part FROM split_string(gr.group_name, '/') ss) AS group6,
и т.д.
3. В SQL менеджере вы можете сохранять ваш скрипт под любым названием и потом выбирать из списка и запускать.
4. Результат скрипта можно сохранить в разные форматы, правой кнопкой на таблице "Экспорт таблицы".



Ki_Khok

Цитата: admin від Травень 22, 2020, 11:39:15
1. Сделайте резерв базы данных.
2. Зайдите в меню Опции : SQL менеджер и выполните след. код:
CREATE OR ALTER PROCEDURE split_string
(
  p_string tbigtext,
  p_splitter CHAR(1)
)
RETURNS
(
  part tbigtext
)
AS
  DECLARE VARIABLE lastpos INTEGER;
  DECLARE VARIABLE nextpos INTEGER;
BEGIN
  p_string = :p_string || :p_splitter;
  lastpos = 1;
  nextpos = POSITION(:p_splitter, :p_string, lastpos);
  IF (lastpos = nextpos) THEN
  BEGIN
    part = SUBSTRING(:p_string FROM :lastpos FOR :nextpos - :lastpos);
    SUSPEND;
    lastpos = :nextpos + 1;
    nextpos = POSITION(:p_splitter, :p_string, lastpos);
  END
  WHILE (:nextpos > 1) DO
  BEGIN
    part = SUBSTRING(:p_string FROM :lastpos FOR :nextpos - :lastpos);
    lastpos = :nextpos + 1;
    nextpos = POSITION(:p_splitter, :p_string, lastpos);
    SUSPEND;
  END
END

этот код добавит процедуру для разбиения на строки, это стоит сделать один раз больше не надо, она будет штатной в следующей версии УкрСклада.

Далее в SQL менеджере выполните скрипт для отображения остатков:
SELECT
  gr.group_name,
  (SELECT FIRST 1 SKIP 0 ss.part FROM split_string(gr.group_name, '/') ss) AS group0,
  (SELECT FIRST 1 SKIP 1 ss.part FROM split_string(gr.group_name, '/') ss) AS group1,
  (SELECT FIRST 1 SKIP 2 ss.part FROM split_string(gr.group_name, '/') ss) AS group2,
  (SELECT FIRST 1 SKIP 3 ss.part FROM split_string(gr.group_name, '/') ss) AS group3,
  (SELECT FIRST 1 SKIP 4 ss.part FROM split_string(gr.group_name, '/') ss) AS group4,
  tz.kolvo,
  t.*,
  c.short_name AS curr_name,
  c_out.short_name AS curr_name_out
FROM   
  tovar_name t
    JOIN currency c ON (t.cena_curr_id  = c.num)
    JOIN currency c_out ON (t.cena_out_curr_id  = c_out.num)
    JOIN tovar_zal tz ON (tz.sklad_id = 3 AND t.num = tz.tovar_id)
    JOIN print_view_sklad(0,3) gr ON (t.tip = gr.num)
WHERE   
  t.visible = 1
ORDER BY
  gr.group_name,   
  t.name


ЗАМЕЧАНИЯ по скрипту.
1. Скрипт показывает товары на складе с ID = 3, поменяйте на свой ID склада (В ДВУХ МЕСТАХ)
2. Скрипт показывает группы товаров с вложенностью до 5, если надо больше просто добавляйте:
(SELECT FIRST 1 SKIP 5 ss.part FROM split_string(gr.group_name, '/') ss) AS group5,
(SELECT FIRST 1 SKIP 6 ss.part FROM split_string(gr.group_name, '/') ss) AS group6,

и т.д.
3. В SQL менеджере вы можете сохранять ваш скрипт под любым названием и потом выбирать из списка и запускать.
4. Результат скрипта можно сохранить в разные форматы, правой кнопкой на таблице "Экспорт таблицы".

Спасибо!!! Большое спасибо. Работает!
Не совсем понял про склады.

Точнее понятно, что этот скрипт работает только для склада с ID 3, а чтоб сделать такую же процедуру для других складов - заменить значение. Вот только не нашёл второе место изменения.... Первое  в строке JOIN tovar_zal tz ON (tz.sklad_id = 3 AND t.num = tz.tovar_id)     а второе - ?

И такой вопрос - а заливать подобные номенклатуры - тоже нужен отдельный скрипт? а то ещё 2 похожих списка есть на другое направление... залив в обновлении будет другой кроме CSV? Когда ожидается обновление?

homebuh

2ое ниже ведь   JOIN print_view_sklad(0,3) gr ON (t.tip = gr.num)

WISH

#10
А наоборот возможно?
Импортировал прайс поставщика. Дерево групп загрузилось. Но номенклатура.....
Новая при импорте, попала в ново создавшиеся группы, а старая нет (которая была ранее импортирована)
Как быть? подскажите. НЕ удалять же весь товар и заново импортировать.
Заранее спасибо.

AGSoft

Цитата: WISH від Травень 25, 2020, 16:54:55
А наоборот возможно?
Импортировал прайс поставщика. Дерево групп загрузилось. Но номенклатура.....
Новая при импорте, попала в ново создавшиеся группы, а старая нет (которая была ранее импортирована)
Как быть? подскажите. НЕ удалять же весь товар и заново импортировать.
Заранее спасибо.
Могу программу написать которая обновит группы товаров. Но предварительно надо глянуть файл который Вы загоняли и файл базы данных
Автоматизація бізнесу заощаджує ваш час. Я знаю, як це зробити.    ✆ +38 050 669 18 76 (viber, telegram)    ✆ +38 098 970 970 1

admin

Цитата: WISH від Травень 25, 2020, 16:54:55
А наоборот возможно?
Импортировал прайс поставщика. Дерево групп загрузилось. Но номенклатура.....
Новая при импорте, попала в ново создавшиеся группы, а старая нет (которая была ранее импортирована)
Как быть? подскажите. НЕ удалять же весь товар и заново импортировать.
Заранее спасибо.

Обязательно, перед импортом товаров через меню Опции : Импорт / товаров контрагентов из файла, делайте резерв базы данных, чтобы если вы неверно указали параметры для импорта, вернуть базу в изначальное положение. Причина захода товара не в те группы или создание дубляжей одна - неверно указаны параметры для импорта (колонки групп, поиск двойников, обрамления и т.д.)

Цитата: AGSoft від Травень 26, 2020, 10:24:59
Могу программу написать которая обновит группы товаров. Но предварительно надо глянуть файл который Вы загоняли и файл базы данных

В программе есть для этого готовый функционал меню Опции : Импорт / товаров контрагентов из файла, но если клиент хочет другой/особый, конечно мы не против.

WISH

Цитата: admin від Травень 26, 2020, 11:47:30
Обязательно, перед импортом товаров через меню Опции : Импорт / товаров контрагентов из файла, делайте резерв базы данных, чтобы если вы неверно указали параметры для импорта, вернуть базу в изначальное положение. Причина захода товара не в те группы или создание дубляжей одна - неверно указаны параметры для импорта (колонки групп, поиск двойников, обрамления и т.д.)
Параметры указаны верно на 99%. Дело в том, что я импортом хотел сменить группу уже занесенных товаров, одновременно создавая группы. И товары остались в старых группах, хотя новые группы создались с правильной структурой подгрупп.
Если программа рассчитана на такой импорт, тогда наверное мне нужна помощь тех поддержки. Обращаться на email?

admin

#14
Цитата: WISH від Травень 26, 2020, 17:57:46
Параметры указаны верно на 99%.

С такой же вероятностью можем сказать что неверно  :) надо проверять. Присылайте снимки экрана настроек импорта и на одном-двух товарах покажите что было до импорта и как импортировало.