Добрый день.
Появилась такая надобность из-за производителя который не хочет ставить свои артикулы, т.е. есть только наименование, но это пол беды, оказалось что по документом наименование одно, а на упаковке оно немного другое :(
Придумал следующее: в Справочнике товара, каждому товару в поле "Дополнительно" дописал нужное название которое на упаковке (что бы люди на точке не паниковали).
спасибо огромное за помощь "TheOK" подсказал код для копирования из поля "полное наименование" в поле "дополнительно" (так как у остальных товаров все ок) сам код:
Обязательно перед запуском сделайте архив базы (запрос затрет данные в поле дополнительно).
В SQL менеджере запустите следующий текст (между -------- и ----------):
------------------------------------
update tovar_name
set dopoln=name
------------------------------------
Дальше столкнулся с тем что нужно вывести вместо "Имя товара" поле "Дополнительно" в отчете на пример в "Остатки по всем складам"
Подскажите пожалуйста как это реализовать, возможно кому то еще пригодится.
Только "TheOK" имеет терпение и желание каждый раз объяснять всем заново как создать отчёт на основании существующего. Он даже не поленился инструкцию написать.
http://www.softbalance.com.ua/forum/index.php/topic,2362.0.html (http://www.softbalance.com.ua/forum/index.php/topic,2362.0.html)
а вот конкретно объяснял
http://www.softbalance.com.ua/forum/index.php/topic,2868.0.html (http://www.softbalance.com.ua/forum/index.php/topic,2868.0.html)
Вам надо создать на основании отчёта свой (см. выше)
В запрос добавить
SELECT
s.num,
t.name,
t.kod,
t.dopoln,
И уже при редактировании формы поменять
[DataRep."name"] на [DataRep."dopoln"]
Спасибо.
Так я уже пробовал, выдает ошибку http://clip2net.com/s/5PTPH5 (http://clip2net.com/s/5PTPH5)
вот мой запрос
--------------------
SELECT
gr.group_name,
t.name,
s.num,
t.kod,
t.dopoln,
CASE
WHEN (c.how_to_calc = 1) THEN t.#öåíà_òèï_ïîëå#/c.kurs
WHEN (c.how_to_calc = 0) THEN t.#öåíà_òèï_ïîëå#*c.kurs
END AS cena,
t.ed_izm,
gr.num,
SUM(s.z_kolvo) AS z_kolvo,
SUM(((t.#öåíà_òèï_ïîëå#*s.z_kolvo)/#âàëþòà_êóðñ#)) AS z_suma
FROM
view_sklad_zal_all('#äàòà#') s,
tovar_name t
LEFT JOIN currency c ON t.#öåíà_òèï_ïîëå_ïð#_curr_id = c.num,
print_view_sklad_all(#àêòèâíàÿ_ôèðìà_¹#) gr
WHERE
s.num = t.num AND
t.tip = gr.num AND
s.sklad_id = gr.sklad_id AND
s.sklad_id > 0 AND
t.visible = 1
AND z_kolvo<>0
GROUP BY
1,2,3,4,5,6,7
ORDER BY
gr.group_name,
t.name
----------------------------------------------
Вот пытаюсь дальше разобраться
или наверное вместо всех t. ... поставить t.*, так тоже видимо правильно?
подставление работает и ввиде t.dopoln, и t.*, (это показывает сразу все возможные)
А в моих уже тех которыя я правил не сработало, видимо что то я там накрути, просто заново их сформирую
Спасибо.
Т.к. данный SQL запрос с группировкой данных (т.е. в запросе есть поле Group by)
в него, при добавлении поля нужно добавить № полей (или имена полей, но проще №), по которым нужно проводить группировку.
т.е. в данном случае группировка данных должна определяться таким текстом:
GROUP BY
1,2,3,4,5,6,7,8
Обратите внимание, добавилась цифра 8 (если считать по порядку это поле t.dopoln).
Если будете подобным образом добавлять поля, то проще, чтобы, вдруг, чего не нарушить, добавлять их в конец списка
Это хорошо, что вы самостоятельно осваиваете работу с отчетами, всегда рад помочь в таких случаях
Запрос не тестировал, т.к. в данный момент на работе, но, думаю, если замените group by (вернее просто добавите ",8"), все должно заработать
Спасибо. Все сработало, а то я застрял именно на этом отчете, в остальных разобрался.
Если можно еще вопросик, на будущее,.
В этом случае использовали "t.dopoln," и цифру "8" с этим я розбрался что к чему.,
но как быть если понадобиться открыть все по максимуму с "t.*," как тогда изменится?
наверняка тоже значение до бесконечности ставится.
использовать * в таких запросах (где уже есть group by) нельзя, т.к. вы должны указать в запросе № или список полей для группировки, что в данном случае если и возможно (скорее всего можно указать 5,6,7,....,N, где N - кол-во полей, которое должен вернуть запрос), но при изменении списка полей в базе разработчиками вы получите неработающий отчет.
В принципе, добавить нужный список полей (и группировку к ним) не очень сложно (если нужно узнать список полей в таблице и не знаете как, пишите)
Спасибо большое за позновательный урок :)
Цитата: Den від Вересень 27, 2013, 13:36:09
------------------------------------
update tovar_name
set dopoln=name
------------------------------------
тоже такое нужно. Но мне нужно перед name вставить еще текст "подшипник" и поставить пробел. Подскажите, кто знает синтаксис sql ?
Цитата: victorpolo від Березень 25, 2015, 09:28:00
Цитата: Den від Вересень 27, 2013, 13:36:09
------------------------------------
update tovar_name
set dopoln=name
------------------------------------
тоже такое нужно. Но мне нужно перед name вставить еще текст "подшипник" и поставить пробел. Подскажите, кто знает синтаксис sql ?
UPDATE
tovar_name
SET
dopoln = 'подшипник ' || name
спасибо, получилось.
И уже при редактировании формы поменять
[DataRep."name"] на [DataRep."dopoln"]
[/quote]
Доброго вечора.
В мене міняє, але при друку чека видав помилку
Всі перемінні без помилки ( перевіряв) тільки DOPOLN з помилкою, де шукати підскажіть
Дякую за вчасно.
Цитата: Роман79 від Серпень 15, 2022, 23:57:47
И уже при редактировании формы поменять
[DataRep."name"] на [DataRep."dopoln"]
Доброго вечора.
В мене міняє, але при друку чека видав помилку
Всі перемінні без помилки ( перевіряв) тільки DOPOLN з помилкою, де шукати підскажіть
Дякую за вчасно.
[/quote]
Цитата: Роман79 від Вересень 16, 2022, 00:05:35
Цитата: Роман79 від Серпень 15, 2022, 23:57:47
И уже при редактировании формы поменять
[DataRep."name"] на [DataRep."dopoln"]
Доброго вечора.
В мене міняє, але при друку чека видав помилку
Всі перемінні без помилки ( перевіряв) тільки DOPOLN з помилкою, де шукати підскажіть
Дякую за вчасно.
[/quote]
Так ви виводите [DataRep."dopoln6"], а не [DataRep."dopoln"], в програмі їх максимум 5. Покажіть ваш скрипт і напишіть що ви хочете вивести.