Прошу помощи, в создании шаблона печатной формы. Нужна форма расходной накладной, которая бы содержала, серийные номера позиции (т.е. груба говоря соединить шаблон расходной накладной и гар. талон , если такое возможно). Пробовал создать самостоятельно шаблон, но без успешно, возможно отсутствие знании С++. Вид шаблона желаемого результата прилагаю.
Щось типу такого підійде?
Да! Огромное спасибо.
Добрый день, помогите в создании печатной формы для Счет-заказа
В принципе практически со всеми графами я разобралась, осталось только добавить правильную переменную сумма розничная - сумма приходная = доход, может кто - то подскажет как это реализовать?
Помогите в создании кассового чека.
Мне нужно дополнить уже существующий чек следующей информацией:
1. ФИО владельца дисконта, номер (и адрес, в случае необходимости доставки)
2. Общий оборот по дисконту.
3. Сумма скидки по чеку.
Всем здрасти.
Нужна помощь.
Ситуация следующая! Есть окно касира, делается выписка на розничного покупателя расход, на основе чеков формируются проводки (расходная, приходный касовый ордер). Нужно, чтобы в отчете "Касса" отоброжалось ФИО сотрудника который выписывал приходный кассовый ордер, чтобы можно было насчитать з.п.
Както так.
Цитата: Alchic від Жовтень 24, 2011, 15:04:45
В принципе практически со всеми графами я разобралась, осталось только добавить правильную переменную сумма розничная - сумма приходная = доход, может кто - то подскажет как это реализовать?
Какие переменные сейчас используете для цены розничной и приходной, если есть сразу суммы напишите какие переменные.
[ToNacValuta(StrToFloat(<Товар.Цена.Приходная>), <Товар.Цена.Валюта.Приходная.Номер>)] цена приходная
[FormatFloat(<формат_cумма_л_табл>,StrToFloat(<Товар.Колво>)*StrToFloat(ToNacValuta(StrToFloat(<Товар.Цена.Приходная>), <Товар.Цена.Валюта.Приходная.Номер>))))] сумма приходная
[DataRep."CENA_R"] цена розничная
[ToNacValuta(StrToFloat(<Товар.Цена.Розничная>)*<Товар.Колво>, <Товар.Цена.Валюта.Расходная.Номер>)] сумма розничная
у вас формула суммы по рознице не работает
Разница по товару:
[(StrToFloat(ToNacValuta(StrToFloat(<Товар.Цена.Розничная>)*<Товар.Колво>, <Товар.Цена.Валюта.Расходная.Номер>)))-(StrToFloat(<Товар.Колво>)*StrToFloat(ToNacValuta(StrToFloat(<Товар.Цена.Приходная>), <Товар.Цена.Валюта.Приходная.Номер>)))]
Разница по накладной:
[SUM((StrToFloat(ToNacValuta(StrToFloat(<Товар.Цена.Розничная>)*<Товар.Колво>, <Товар.Цена.Валюта.Расходная.Номер>)))-(StrToFloat(<Товар.Колво>)*StrToFloat(ToNacValuta(StrToFloat(<Товар.Цена.Приходная>), <Товар.Цена.Валюта.Приходная.Номер>))))]
Спасибо огромное все работает)))))
Помогите создать запрос для того, чтобы узнать ФИО пользователя, от имени которого создан Приходный а также расходный ордера!
Хочу вот такое сделать.
Цитата: ankos4 від Жовтень 28, 2011, 18:02:00
Помогите создать запрос для того, чтобы узнать ФИО пользователя, от имени которого создан Приходный а также расходный ордера!
Хочу вот такое сделать.
С помощью обычной процедуры это сделать нельзя, надо подправить.
В меню Опции : SQL менеджер выполните след код (в версиях после 5.30 этого уже делать не надо т.к. будет включено в след. обновление):
ALTER PROCEDURE kassa_view (
firma_id INTEGER,
date_from DATE,
date_to DATE)
RETURNS (
num INTEGER,
doc_id INTEGER,
doc_type_id INTEGER,
z_begin DOUBLE PRECISION,
z_begin_tmp DOUBLE PRECISION,
doc_date DATE,
doc_nu VARCHAR(30),
doc_suma DOUBLE PRECISION,
doc_pids VARCHAR(300),
client_name VARCHAR(300),
doc_krah VARCHAR(30),
doc_suma_in DOUBLE PRECISION,
doc_suma_out DOUBLE PRECISION)
AS
BEGIN
z_begin = 0;
SELECT
SUM(pk.nac_cena)
FROM
tovar_move tm,
pkas pk
WHERE
tm.doc_type_id = 3 AND
tm.doc_id = pk.num AND
tm.to_firma_id = :firma_id AND
tm.mdate < :date_from
INTO
:z_begin_tmp;
z_begin = z_begin + z_begin_tmp;
SELECT
SUM(vk.nac_cena)
FROM
tovar_move tm,
vkas vk
WHERE
tm.doc_type_id = 4 AND
tm.doc_id = vk.num AND
tm.from_firma_id = :firma_id AND
tm.mdate < :date_from
INTO
:z_begin_tmp;
z_begin = z_begin - z_begin_tmp;
FOR
SELECT
tm.num,
pk.num,
tm.doc_type_id,
tm.mdate,
pk.nu,
pk.nac_cena AS suma,
pk.nac_cena AS suma_in,
cast(null as double precision) AS suma_out,
pk.client,
pk.sh1,
pk.pids
FROM
tovar_move tm
LEFT JOIN pkas pk ON (tm.doc_type_id = 3 AND tm.doc_id = pk.num)
WHERE
tm.doc_type_id = 3 AND
tm.to_firma_id = :firma_id AND
tm.mdate >= :date_from AND tm.mdate <= :date_to
UNION
SELECT
tm.num,
vk.num,
tm.doc_type_id,
tm.mdate,
vk.nu,
vk.nac_cena*(-1) AS suma,
cast(null as double precision) AS suma_in,
vk.nac_cena AS suma_out,
vk.client,
vk.sh1,
vk.pids
FROM
tovar_move tm
LEFT JOIN vkas vk ON (tm.doc_type_id = 4 AND tm.doc_id = vk.num)
WHERE
tm.doc_type_id = 4 AND
tm.from_firma_id = :firma_id AND
tm.mdate >= :date_from AND tm.mdate <= :date_to
INTO :num, :doc_id, :doc_type_id, :doc_date, :doc_nu, :doc_suma, :doc_suma_in, :doc_suma_out, :client_name, :doc_krah, :doc_pids
DO
BEGIN
SUSPEND;
END
END
Далее уже можно подправить текст отчета чтобы получить имя пользователя.
Как делать отчет на основе другого?
1. Заходим в меню "Отчеты" и открываем нужный нам отчет.
2. Потом нажимаем на кнопку "В режим редактирования", и раскрываем
окно на максимум (так будет удобней)
3. В открывшемся окне в полях "Название по-украински" и "Название
по-русски", меняем или дописываем название для будущего отчета.
4. Далее меняем или правим в окне SQL запрос текст SQL запроса к базе
данных.
5. Если надо включаем в "Выбор нужных параметров для отчета" галочки
что надо выбирать перед формированием отчета, а что нет.
6. Нажимаем кнопку "Сохранить как новый", и закрываем окно.
7. Далее заходим обратно в меню "Отчеты" и ищем имя отчета которое вы
задали в п.3 Открываем его и запускаем, если надо правим печатную форму.
в п.4 меняем текст на:
SELECT
kw.*,
CASE
WHEN psu.num IS NULL THEN vsu.u_login
ELSE psu.u_login
END AS u_login,
CASE
WHEN psu.num IS NULL THEN vsu.u_surname
ELSE psu.u_surname
END AS u_surname,
CASE
WHEN psu.num IS NULL THEN vsu.u_name
ELSE psu.u_name
END AS u_name,
CASE
WHEN psu.num IS NULL THEN vsu.u_middlename
ELSE psu.u_middlename
END AS u_middlename
FROM
kassa_view(#активная_фирма_№#,'#дата_с#','#дата_по#') kw
LEFT JOIN pkas p ON (kw.doc_type_id = 3 AND kw.doc_id = p.num)
LEFT JOIN vkas v ON (kw.doc_type_id = 4 AND kw.doc_id = v.num)
LEFT JOIN s_users psu ON (p.doc_user_id = psu.num)
LEFT JOIN s_users vsu ON (v.doc_user_id = vsu.num)
ORDER BY
kw.doc_date,
kw.num
Код не проверял, на быструю руку так сказать, если ошибка сообщите.
Спосибо! Все прошло нормально!
Хоть пока и не получилось то, что я хотел, но ФИО создавшего документ уже есть.
Надо сгрупировать по каждому пользователю Касу за день. Попробую побаловаться, если что отпишу.
С этого всего понял, что нужно учиться, учиться и еще раз учиться. В.И. Ленин
Здравствуйте, помогите создать шаблон отчета по минимальному остатку, чтобы в него входило списание товара.
Подкоректируйте формулу, а то у меня деление не происходит
[SumaOut.Value-(CenaIn.Value*KolvoOut.Value)]/[IIF(SUM(<DataRep."CENA_IN">) > 0,SUM(<DataRep."CENA_IN">)/CenaInCount,<НДС.НаТоварДляАФирмы>*<DataRep."CENA">)]
Лишние квадратные скобки, в одном выражении они должны быть одни, что между квадратными скобками просто выводиться на печать т.е. так делить нельзя [9]/[3], надо так [9/3].
спасибо получилось
В бланке не печатается поле "Общий вес" хотя столбец есть и часть значений заполнена.
Цитата: DimaODS від Серпень 26, 2013, 14:09:36
В бланке не печатается поле "Общий вес" хотя столбец есть и часть значений заполнена.
Странно, но у меня вывелось на печать (в Расходной накладной под ваш шаблон), ругалось только на кол-во.
Используйте переменные (с закладки Переменные), а не данные с закладки Поля БД.
Кроме того, вам, скорее всего нужно будет вес умножать на кол-во.
Версия программы 5.7.6
*Моя ошибка, не заметил, что говорилось об общем весе
Вот общий вес:
[SUM(<Товар.Колво> * <Товар.Вес>)]
мемо поле должно обязательно быть ниже списка товаров.
Как можно реализовать Отчет Реализация товара за определенный период с условием, чтобы включало несколько складов + серийные номера товара ?