Привіт всім. Шукав шукав відповідь на своє запитання на форумі, втомився і прошу допомоги у Вас, можливо допоможете. Запитання в мене стосовно прайсів у програмі Украсклад. В групу товари ввожу близько 600 найменувань згідно свого каталогу товарів. Хочу вивести прайс-лист, а він вистроюється лише по наіменуванню товару, або я ще вичитав на форумі як ше зробити щоб прайс вистроювався по коду. Підкажіть, як зробити, щоб прайс видавався в тому порядку, в якому я ввожу його в групу товарів? Якщо він буде вистроюватись по імені, мої клієнти будуть багато часу і нервів тратити на пошук потрібного йому товару. В групі товарів якщо вибрати сортування додатково, товари видаються в тому порядку, в якому я їх повводив, тобто так як треба, а от в прайсі незнаю як це зробити. Заздалегідь вдячний.
Вы хотите, чтобы товар группировался по группам (группы в алфавитном порядке?), а затем по времени добавления товара в группе? Такое в принципе возможно, но я бы советовал вам в одно из дополнительных полей или в любое другое, которое не используете (вес, длина, фасовка и т.д.) вводить числа, которые будут обозначать порядок сортировки товара в группе товара.
Таким образом, изменив число в этом поле сможете переместить данный товар в нужное место.
Уточните эти моменты.
Я понял Вас, в принципе можно попробовать, идея мне нравиться. Спасибо огромное.
Когда определитесь с тем, какое поле будете использовать для указания порядка сортировки, пишите сюда, нужно будет слегка (совсем чуток) изменить запрос на выборку данных для отчета, чтобы отсортировало по нужному полю.
В общем жду название поля (из справочника товаров), после чего смогу прикрепить здесь запрос с нужной сортировкой
Поле Фасовка. Его могу использовать.
Хороший выбор. Это поле числовое, в него можно вносить не только целые числа, но и дробные, что даст полную гибкость при организации сортировки.
Через несколько минут скину запрос для отчета и расскажу, что с ним делать
Ниже прилагаю SQL запрос, что с ним делать, увидите на видео (прикреплю, через несколько минут).
SELECT
tz.kolvo,
t.*,
CASE
WHEN (t.cena_curr_id = par.param) THEN t.cena
WHEN (c.how_to_calc = 0 AND ct_in.how_to_calc = 1) THEN t.cena/c.kurs/ct_in.kurs
WHEN (c.how_to_calc = 1 AND ct_in.how_to_calc = 1) THEN t.cena*c.kurs/ct_in.kurs
WHEN (c.how_to_calc = 0 AND ct_in.how_to_calc = 0) THEN t.cena/c.kurs*ct_in.kurs
WHEN (c.how_to_calc = 1 AND ct_in.how_to_calc = 0) THEN t.cena*c.kurs*ct_in.kurs
END AS cena_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_r
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_r/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_r*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_r/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_r*c.kurs*ct_out.kurs
END AS cena_r_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_o
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_o/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_o*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_o/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_o*c.kurs*ct_out.kurs
END AS cena_o_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_1
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_1/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_1*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_1/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_1*c.kurs*ct_out.kurs
END AS cena_1_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_2
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_2/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_2*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_2/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_2*c.kurs*ct_out.kurs
END AS cena_2_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_3
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_3/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_3*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_3/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_3*c.kurs*ct_out.kurs
END AS cena_3_national_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena
WHEN (ct_in.how_to_calc = 1) THEN t.cena/ct_in.kurs
WHEN (ct_in.how_to_calc = 0) THEN t.cena*ct_in.kurs
END AS cena_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_r
WHEN (ct_out.how_to_calc = 1) THEN t.cena_r/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_r*ct_out.kurs
END AS cena_r_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_o
WHEN (ct_out.how_to_calc = 1) THEN t.cena_o/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_o*ct_out.kurs
END AS cena_o_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_1
WHEN (ct_out.how_to_calc = 1) THEN t.cena_1/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_1*ct_out.kurs
END AS cena_1_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_2
WHEN (ct_out.how_to_calc = 1) THEN t.cena_2/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_2*ct_out.kurs
END AS cena_2_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_3
WHEN (ct_out.how_to_calc = 1) THEN t.cena_3/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_3*ct_out.kurs
END AS cena_3_main_valuta,
gr.group_name,
ti.tov_image,
ti.tov_image_type
FROM
tovar_name t
LEFT JOIN currency ct_in ON t.cena_curr_id = ct_in.num
LEFT JOIN currency ct_out ON t.cena_out_curr_id = ct_out.num
LEFT JOIN tovar_images ti ON (ti.num = (SELECT FIRST 1 ti2.num FROM tovar_images ti2 WHERE ti2.tovar_id = t.num ORDER BY ti2.isort )),
print_view_sklad(#товар_группа_№#,#склад_№#) gr,
tovar_zal tz,
currency c,
params par
WHERE
par.name = 'NationalValutaId' AND
c.num = par.param AND
t.tip = gr.num AND
t.visible = 1 AND
t.is_price_invisible = 0 AND
t.num=tz.tovar_id AND
tz.sklad_id=#склад_№#
ORDER BY
gr.group_name,
t.TOV_FASOVKA,
t.name
Спасибо Вам большое.
Может быть еще подскажете как отдельно делать прайс по розничным ценам и отдельно по оптовым?
Опишу в тексте порядок добавления отчета, чтобы было понятно, что творится на видео.
Сохраняем отчет прайс как новый (С сохранением отчета, автоматически сохранился и основной шаблон отчета, так и будем его называть, основной).
Смотрим название шаблона отчета, который мы только что сохранили (на видео это
UserZvit013.fr3 у вас будет другой номер в конце). Таким образом мы определили, что имя файла нового основного отчета UserZvit013.fr3.
Заходим в оригинальный отчет (встроенный в программу, а не сохраненный перед этим) и сохраняем остальные необходимые нам шаблоны отчетов (не обязательно все, а только те, которые нужно) в любой каталог под теми же именами файлов, что и Основной шаблон ( в моем случае это был UserZvit013.fr3) с добавлением к имени файлу чисел (1,2,3 и т.д.). В моем случае это получились файлы UserZvit0131.fr3, UserZvit0132.fr3, UserZvit0133.fr3...
После того, как шаблоны (те, которые нам нужны) переименованы, перенесем их в каталог, где хранятся
все шаблоны отчетов (их 2: каталог для украинских шаблонов отчетов (...UkrSklad/rep)и для русскоязычных шаблонов отчетов (...UkrSklad/rep/rus), где UkrSklad - каталог, где установлена ваша клиентская часть УкрСклада (или локальная).
Теперь, заменим SQL запрос отчета (копируем с этой темы), чтобы сортировка
была по полю фасовка. Вот и все, запускаем отчет и любуемся результатом.
Перенос шаблонов (http://www.youtube.com/watch?v=ui2J2CgYheo#)
Чтобы изменить тип цены, нужно заменить то, что есть в поле на соответствующее выражение для цены:
Оптовая:[FormatFloat(<формат_цена_табл>,<DataRep."CENA_O_NATIONAL_VALUTA">*<НДС.НаТоварДляАФирмы>)]
Розничная:[FormatFloat(<формат_цена_табл>,<DataRep."CENA_R_NATIONAL_VALUTA">*<НДС.НаТоварДляАФирмы>)]
Цена1:[FormatFloat(<формат_цена_табл>,<DataRep."CENA_1">*<НДС.НаТоварДляАФирмы>)]
Да, красиво Вы это делаете, спасибо, все получилось.
Здравствуйте еще раз. Помогите пожалуйста с таким вопросом. Каким образом на последнюю страницу прайса можно добавить текст или картинку? На первую могу добавить, на последнюю не могу разобраться как. Спасибо Вам.
Все данные (за о-о-очень редким исключением) добавляются только на бенды-данных (не знаю, как переводятся на человеческий язык).
Поэтому нужно добавить в конце отчета такой бенд, например, подвал отчета (подвал - значит в самом низу отчета).
На него потом и добавлять текстовые поля или изображения
Видео здесь (мне проще писать видео, чем описывать все это словами).
Добавление данных в конец отчета (http://www.youtube.com/watch?v=qJNPfd6B180#)
Дякую, все вийшло.
Цитата: medkatastrof від Січень 18, 2013, 17:53:12
Здравствуйте еще раз. Помогите пожалуйста с таким вопросом. Каким образом на последнюю страницу прайса можно добавить текст или картинку? На первую могу добавить, на последнюю не могу разобраться как. Спасибо Вам.
Слева на панельке объектов, выберите "Вставить бенд" и добавляйте бенд "Подвал отчета" на нем уже и размещайте ваш тест, этот бенд будет всегда в конце отчета.
Здравствуйте. Столкнулся с вопросом, решение которого никак не могу найти. Подскажите пожалуйста, имеет ли программа функцию группового переименования товаров на складе? Спасибо.
Цитата: medkatastrof від Січень 22, 2013, 20:42:26
Здравствуйте. Столкнулся с вопросом, решение которого никак не могу найти. Подскажите пожалуйста, имеет ли программа функцию группового переименования товаров на складе? Спасибо.
В программе нет такой функции, только SQL скриптами.
Спасибо, а что значит только скриптами?
Цитата: medkatastrof від Січень 23, 2013, 11:44:24
Спасибо, а что значит только скриптами?
Вот пример:
http://www.softbalance.com.ua/forum/index.php/topic,512.msg3490.html#msg3490 (http://www.softbalance.com.ua/forum/index.php/topic,512.msg3490.html#msg3490)
Здравствуйте уважаемые форумчане. У меня вопрос следующего характера. У меня укрсклад стоит на двух компьютерах. На одном я сделал прайс, изменил его внешний вид под свою компанию так как мне нужно, все замечательно, все получилось. Но как только я делаю резервирование базы и переношу ее на другой компьютер, внешний вид прайса становиться по умолчанию, а не измененный мною как на первом компьютере. Подскажите пожалуйста как бороться с этим? Спасибо.
Цитата: medkatastrof від Січень 31, 2013, 13:12:05
Здравствуйте уважаемые форумчане. У меня вопрос следующего характера. У меня укрсклад стоит на двух компьютерах. На одном я сделал прайс, изменил его внешний вид под свою компанию так как мне нужно, все замечательно, все получилось. Но как только я делаю резервирование базы и переношу ее на другой компьютер, внешний вид прайса становиться по умолчанию, а не измененный мною как на первом компьютере. Подскажите пожалуйста как бороться с этим? Спасибо.
Думаю так происходит потому, что ваш новый шаблон прайса остается на 1 ПК, где вы его сохранили. И вместе с базой Укрсклада , выходит, не архивируется(резервируется)... так что нужно и на 2 ПК поместить в папку UkrSkladC\rep\ ваш шаблон. ну и связать его с программой.
Спасибо, попробую!
Цитата: medkatastrof від Січень 31, 2013, 13:12:05
Здравствуйте уважаемые форумчане. У меня вопрос следующего характера. У меня укрсклад стоит на двух компьютерах. На одном я сделал прайс, изменил его внешний вид под свою компанию так как мне нужно, все замечательно, все получилось. Но как только я делаю резервирование базы и переношу ее на другой компьютер, внешний вид прайса становиться по умолчанию, а не измененный мною как на первом компьютере. Подскажите пожалуйста как бороться с этим? Спасибо.
Люди добрые, спрашиваю повторно, у меня не получилось. Еще раз опишу суть проблемы. Сделал я свой шаблон прайса, сохранил его, сделал резервное копирование, на другом компьютере делаю восстановление из сохраненного на первом компьютере, а прайс программа выдает в шаблоне по умолчанию. Подскажите пожалуйста как решить вопрос? Спасибо.
Цитата: victorpolo від Січень 31, 2013, 15:34:07
Думаю так происходит потому, что ваш новый шаблон прайса остается на 1 ПК, где вы его сохранили.
.... так что нужно и на 2 ПК поместить в папку UkrSkladC\rep\ ваш шаблон.
Вам нужно перенести файл шаблона вашего прайса на второй ПК. Сохраните ваш измененный шаблон под тем же именем, которое на ПК где все ОК и сохраните в каталог rep и rep/rus вашего УкрСклада на втором ПК.
Цитата: TheOK від Січень 31, 2013, 21:31:47
Цитата: victorpolo від Січень 31, 2013, 15:34:07
Думаю так происходит потому, что ваш новый шаблон прайса остается на 1 ПК, где вы его сохранили.
.... так что нужно и на 2 ПК поместить в папку UkrSkladC\rep\ ваш шаблон.
Вам нужно перенести файл шаблона вашего прайса на второй ПК. Сохраните ваш измененный шаблон под тем же именем, которое на ПК где все ОК и сохраните в каталог rep и rep/rus вашего УкрСклада на втором ПК.
Уже переносил все что только можно. Не выходит никак. Может быть еще идеи есть? Помогите плиз!!!
Посмотрите файл в данной теме http://www.softbalance.com.ua/forum/index.php/topic,2362.0.html (http://www.softbalance.com.ua/forum/index.php/topic,2362.0.html) , смотрите в оглавлении файла тему по созданию отчетов
Наиболее простой путь, это перенести полностью каталог rep из каталога, где установлен УкрСклад.
Будьте внимательны, если вы создавали шаблоны отчетов или новые пользовательские отчеты уже в новой базе, то они могут быть "затерты".
Возможный вариант это разные подкаталоги! Если виста или 7 то это ProgramData.
Спасибо, разобрался, все отлично, все работает. Люди, к меня вопрос еще такого рода: прайс-лист можно сделать или по одной группе товаров, или по всем сразу, а как сделать,чтобы выбрать именно те группы товаров, которые мне нужно, но не все сразу.
К сожалению, группы товаров содержат очень мало атрибутов. Единственный доступный для конечного пользователя программы - имя группы. Это значит, что отметить необходимые группы (именно группы, а не товар) возможности нет.
Подходов может быть достаточно много, но как по мне, самый оптимальный заключается в использовании стандартного функционала программы. У товара есть опция, скрывать в прайсе. Включите ее у всего товара, который вы не хотите показывать в прайсе (следовательно, группы товаров туда не попадут).
Цитата: TheOK від Лютий 02, 2013, 23:19:27
К сожалению, группы товаров содержат очень мало атрибутов. Единственный доступный для конечного пользователя программы - имя группы. Это значит, что отметить необходимые группы (именно группы, а не товар) возможности нет.
Подходов может быть достаточно много, но как по мне, самый оптимальный заключается в использовании стандартного функционала программы. У товара есть опция, скрывать в прайсе. Включите ее у всего товара, который вы не хотите показывать в прайсе (следовательно, группы товаров туда не попадут).
Спасибо за ответ. Скажите, а каким образом можно припрятать определенные группы товаров в прайсе?
Это касается использования определенных префиксов (или постфиксов) в именах групп. Использование подобного рода хитростей возможно только при наличии определенных знаний по формированию отчетов.
Здравствуйте уважаемые форумчане. Появился при работе с программой у меня вопрос, в решении которого нужна Ваша помощь. Скажите пожалуйста, каким образом товар, который добавляется в программу, можно добавить между товаров, которые уже есть в списке? Просто когда я его добавляю просто, в прайсе новый добавленный товар появляется последним, а мне нужно чтобы он был между тех товаров, между которыми мне нужно. Надеюсь удалось объяснить суть проблемы, спасибо большое, буду ждать ответа.
Товар в прайсе сортируется сначала по имени группы, затем по наименованию товара. Т.е. в алфавитном порядке. Самый простой способ подкорректировать расположение товара (переместить его в самый верх, например) добавить пробел перед наименованием товара (или группы). Другие способы требуют изменения отчета, а так же внесения данных относительно сортировки товара практически в каждый товар
Цитата: TheOK від Лютий 10, 2013, 23:00:18
Товар в прайсе сортируется сначала по имени группы, затем по наименованию товара. Т.е. в алфавитном порядке. Самый простой способ подкорректировать расположение товара (переместить его в самый верх, например) добавить пробел перед наименованием товара (или группы). Другие способы требуют изменения отчета, а так же внесения данных относительно сортировки товара практически в каждый товар
Скажите, а изменения отчета какие именно требуются? Может быть не сложно и я смогу сам сделать это? А то прайс врасброс не совсем удобен в использовании.
Точнее будет так, мне просто нужно товар добавить между определенными уже внесенными товарами в программу, вот и все. Подскажите пожалуйста это как сделать?
Цитата: medkatastrof від Лютий 10, 2013, 23:28:26
Скажите, а изменения отчета какие именно требуются? Может быть не сложно и я смогу сам сделать это? А то прайс врасброс не совсем удобен в использовании.
Сортировка по имени товара это в разброс?
Нет, это не в разброс. Причем здесь это? Я хочу уточнить, каким образом товар можно добавить в список уже между внесенного товара в программу и чтобы он также отображался в прайсе между теми продуктами, между какими мне нужно.
Сортирует товары в прайсе в алфавитном порядке название товаров. Соответветственно товары на б рядом ит.д. : банка бочка сахар селёдка и т.д. Т.е. если названия товаров на одинаковую букву то они рядом.
Или вас неправильно понимают?
Вы имеете ввиду неправильно понимают клиенты мои?
Я наверное неправильно вас понимаю.
Приведите пример, что куда вы хотите вставить
Какой порядок товаров в прайсе вы хотите? На основании какого критерия они должны сортироваться?
А если речь идёт о порядке товаров в справочнике товаров, то они сортируются по полю которое выбрано.
Например: товар у меня в прайсе сортирован согласно каталога, а в каталоге товары отсортированы по группам определенным (то есть не по алфавиту, а скорее по группам, и в прайсе они отображаются по порядку). Но когда я пытаюсь внести товар между любыми двумя товарами на выбор, он в прайсе показывается уже не по порядку, а в конце или вначале или по алфавиту. А мне нужно чтобы он был в конкретной группе.
Покажите кусок своего прайса. В прайсе сортируются и группы.
Если у тебя товар сортируется по коду товара, тогда надо и коды присваивать соответсвенно. Т.е. придумывать сою нумерацию и по ней сортировать. А при необходимости и заменять эти коды.
Товары в прайсе можно отсортировать по любому полю из справочника товаров. Исходя из этого и называй или номеруй и переномеровуй свои товары.
Вы делали отчет с запросом, который указан ЗДЕСЬ (http://www.softbalance.com.ua/forum/index.php/topic,2598.msg15706.html#msg15706) ?
Согласно запросу указанному там, товар сортируется сначала по имени группы, затем по числу в поле фасовка, а затем по наименованию товара. Измените число в поле фасовка и все должно выстроиться как надо
Здравствуйте!
Розничная цена в прайсе, я так понял, выбивается уже по умолчанию.
Подскажите, пожалуйста, как в прайсе добавить колонки цены прихода и цены оптовую?
Трудно разобраться самому, как что добавлять. Пока что научился только удалять :)