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

Отчет

Автор samoletniy, Грудень 27, 2010, 12:10:56

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

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

samoletniy

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

admin

Переменные это внутри документов прописаны в программе для отчетов нет переменных, есть поля выборки самого SQL запроса. Можно прописать в SQL запроса любые названия полей с помощью оператора "AS".

a. Как делать отчет на основе другого?
1. Заходим в меню "Отчеты" и открываем нужный нам отчет.
2. Потом нажимаем на кнопку "В режим редактирования", и раскрываем
окно на максимум (так будет удобней)
3. В открывшемся окне в полях "Название по-украински" и "Название
по-русски", меняем или дописываем название для будущего отчета.
4. Далее меняем или правим в окне SQL запрос текст SQL запроса к базе
данных.
5. Если надо включаем в "Выбор нужных параметров для отчета" галочки
что надо выбирать перед формированием отчета, а что нет.
6. Нажимаем кнопку "Сохранить как новый", и закрываем окно.
7. Далее заходим обратно в меню "Отчеты" и ищем имя отчета которое вы
задали в п.3 Открываем его и запускаем, если надо правим печатную форму.

б. Как делать новый отчет
1. меню Отчеты:Создать новый отчет, изменяем имя отчетам
2. Добавляем след текст в SQL запрос:

{ваш SELECT}

3. Включаем в выборе параметров для отчета нужные параметры, например галочку "Период дат"
4. Нажимаем сохранить как новый
5. Закрываем заходим в Отчеты : Отчеты пользователей и открываем ваш
отчет
6. Нажимаем кнопку В режим редактирования, нажимаем просмотр, вдаст
ошибку игнорируем
7. Нажимаем Редактирование шаблона
8. В новом окне меню Файл:Новый:Мастер Стандартного
отчета:Далее:Добавить все поля:Далее:Далее:Готово.
9. Отчет готов, структура есть можете изменять ее называть верно
колонки и т.д. не забудьте сохранить отчет, также во время
редактирования можно его просматривать.

Все переменные которые вставляются в SQL запрос написаны на закладке "Редактирование отчета" (перем. и для печати). Как они используются можно посмотреть в других отчетах. Структуру базы посмотреть и тренировочные запросы можете делать например при помощи IBExpert база sklad.tcb, пароль и логин стандартные для FIrebird.

ПОВТОРЯЮ. Без базовых знаний языка SQL вы не сможете сделать отчет. Особых навыков не требуется но основу обязательно, язык очень легкий.

semp

Подскажите, что нужно и где прописать, что бы вывести отчет за один день: Галочку "Дата" поставил, а дальше, что не пойму?

И еще: можно ли в одном поле отчета прописать формулу, что бы одновременно указывать наименование поставщика, если это приход (т.е. кол-во положительное) и если это расход (кол-во отрицательное), то указывать наименование получателя; если да, то подскажите как?

admin

Цитата: semp від Січень 31, 2011, 20:15:49
Подскажите, что нужно и где прописать, что бы вывести отчет за один день: Галочку "Дата" поставил, а дальше, что не пойму?

В SQL скрипте подставляется вместо #дата#, хорошо видно на примере отчета "Остатки на складе".

Цитата: semp від Січень 31, 2011, 20:15:49
И еще: можно ли в одном поле отчета прописать формулу, что бы одновременно указывать наименование поставщика, если это приход (т.е. кол-во положительное) и если это расход (кол-во отрицательное), то указывать наименование получателя; если да, то подскажите как?

В дизайнере можно построить отчет любой сложности. Укажите какие переменные у вас поставщика, получателя и кол-во.

semp

Цитата: admin від Лютий 01, 2011, 14:28:05
В SQL скрипте подставляется вместо #дата#, хорошо видно на примере отчета "Остатки на складе".

С датой разобрался вроде бы, спасибо за подсказку, работает!

semp

#5
Цитата: admin від Лютий 01, 2011, 14:28:05

В дизайнере можно построить отчет любой сложности. Укажите какие переменные у вас поставщика, получателя и кол-во.

Отчет создавался на основании детального движения товара по складу, поэтому в графе организации сейчас:
[DataRep."CN_FROM"] => [DataRep."CN_TO"], т.е. Поставщик => Получатель;
в графе количество:
[DataRep."KOLVO"], т.е. если это приход - с плюсом; расход - с минусом;
и еще, в графе цена:
[FORMATFLOAT(<формат_цена_табл>,<DataRep."CENA">)] получается цена без НДС, а хотелось бы с НДС.

Извинте, за беспокойство, стараюсь изучать по fastreport-ru.chm, но самому тяжело как чайнику разобраться

И последнее к этому отчету: нужно добавить переменную из документа "Примечание", как его прописать в SQL

admin

А как определяете приход или расход? Тип документа в SQL запросе есть? Укажите весь запрос.

admin

Это перенаправленное письмо:
От: Служба поддержки
Кому: "SEMP"
Дата: 7 лютого 2011 р., 17:50:43
Тема: Fw: Укрсклад

===8<==============Оригинал текста письма===============
Приветствую Вас,

02.02.2011 в 18:07, Вы писали:

> Чтобы не засорять форум решил отписаться по emal:


> Отчет создавался на основании детального движения товара по складу, поэтому
> в графе организации сейчас:
>  [DataRep."CN_FROM"] => [DataRep."CN_TO"], т.е. Поставщик => Получатель;
> в графе количество:
>  [DataRep."KOLVO"], т.е. если это приход - с плюсом; расход - с минусом;
> и еще, в графе цена:
>  [FORMATFLOAT(<формат_цена_табл>,<DataRep."CENA">)] получается цена без НДС,
> а хотелось бы с НДС.

> Извинте, за беспокойство, стараюсь изучать по fastreport-ru.chm, но самому
> тяжело как чайнику разобраться

> И последнее к этому отчету: нужно добавить переменную из документа
> "Примечание", как его прописать в SQL

>> А как определяете приход или расход? Тип документа в SQL запросе есть?
>> Укажите весь запрос.

> Ввесь SQL запросе выглядит так:

> SELECT
...


замените на

SELECT
  dt.name as doc_name,
  dt.name_rus as doc_name_rus,
  dt.is_pasive,
  dt.is_active,
  dt.is_active,
  vd.doc_type,
  vd.nu,
  vd.date_dok,
  sn_from.name as sn_from,
  sn_to.name as sn_to,
  cn_from.fio as cn_from,
  cn_to.fio as cn_to,
  tn.kod,
  tn.dopoln,
  tn.name,
  tn.dopoln1,
  tn.dopoln2,
  tn.dopoln3,
   tn.ed_izm,
  CASE
    WHEN (tm.from_sklad_id = #склад_№#) THEN (-1)*tm.from_kolvo
    ELSE tm.from_kolvo
  END AS kolvo,
  tm.from_cena AS cena,
  CASE
    WHEN (tm.from_sklad_id = #склад_№#) THEN (-1)*tm.from_suma
    ELSE tm.from_suma
  END AS suma,
  tm.cena_znig_diff,
  tm.suma_znig_diff
FROM
  tovar_move tm
    LEFT JOIN doc_types dt ON tm.doc_type_id = dt.num
    LEFT JOIN sklad_names sn_from ON tm.from_sklad_id = sn_from.num
    LEFT JOIN sklad_names sn_to ON tm.to_sklad_id = sn_to.num
    LEFT JOIN client cn_from ON tm.from_firma_id = cn_from.num
    LEFT JOIN client cn_to ON tm.to_firma_id = cn_to.num,
  tovar_name tn,
  view_alldocs vd
    LEFT JOIN doc_types dt ON vd.doc_type dt.num
WHERE
  tm.is_usluga = 0 AND
  (tm.from_sklad_id = #склад_№# OR tm.to_sklad_id = #склад_№#) AND
  tm.doc_type_id = vd.doc_type AND
  tm.doc_id = vd.num AND
  tm.tovar_id = tn.num AND
  tm.mdate = '#дата#'
ORDER BY
  tm.mdate,
  tm.num


И по полям is_pasive и is_active можете уже делать условие расход или
приход, можно также по doc_type это ID типа документа.

Типы документов

NUM     NAME_RUS

0       Счет-фактура
1       Расходная накладная
2       Налоговая накладная
3       Приходный кассовый ордер
4       Расходный кассовый ордер
5       Платежное поручение
6       Акт выполненных работ
7       Счет форма-заказ
8       Приходная накладная
9       Внесение остатков
10      Накладная на перемещение
11      Списание
12      Возврат от клиента
13      Корректирование налоговой
14      Договор
15      Акт инвентаризации
16      Входящее платежное поручение
17      Доверенность
18      Возврат поставщику
19      Универсальный документ
20      Производство
21      Чек


> Я так понимаю, что в этом запросе есть и лишние данные для моего отчета,
> ведь я его не изменял, а остался такой как был в отчете "Детального движения
> товара по складу" за исключением некоторых изменений.
> Еще подскажите, как в отчет добавить иформацию из полей справочника клиентов
> email и www

Выборка
  cn_from.www,
  cn_from.email,
  cn_to.www,
  cn_to.email,

> И можно ли как-то самому определить как прописывать в  SQL запросе отдельные
> позиции из справочников товаров и клиентов, и формируемых документов

Названия полей удобно брать с ленгвич файла
rus_grid.lng вот например его кусок для справочника клиентов:
[FSprClient_GridClient]
NUM=№
FIO=Предприятие / ФИО
ADR=Адрес
TEL=Телефон/факс
ROZR_R=Рас. счет
K1=ЄДРПОУ (ЗКПО)
BIK=МФО
BANK=Банк
INN=ИНН
SVID=№ свидетельства
DOPOLN=Дополнительно
SV_SER=Свид. серия
SV_NUM=Свид. номер
SV_VIDANO=Свид. выдано
SV_DATE=Свид. дата
PAS_SER=Документ
PAS_TYPE=Тип документа
PAS_NUM=Документ номер
PAS_VIDANO=Документ выдан
PAS_DATE=Документ дата
FIO_DIR=Директор
FIO_BUH=Бухгалтер
WWW=Адрес Веб страницы (www)
EMAIL=E-Mail
ADR_UR=Юр. адрес
ZNIG_PROC=Скидка
CLN_SCANCODE=№ дисконтной карты (штрих-код)
;ver5
CLIENT_SUMA=Баланс
CLIENT_CENA_TYPE=Тип цены
CLN_DIS_SUMA=Накопительная сумма


> Отличная программа, только нужно время или Ваша помощь, чтобы научиться
> создавать свои отчеты.

> Для полного счастья не хватает 3-4 Дополнительных полей в Справочнике
> клиентов наподобие как в Справочнике товаров (приходиться использовать для
> некоторых данных неприспособленные для этого поля)

Добавили в доработки.

--
С уважением, Служба поддержки пользователей
http://www.softbalance.com.ua

===8<===========Окончание оригинала теста письма========

alex437

#8

Названия полей удобно брать с ленгвич файла
rus_grid.lng вот например его кусок для справочника клиентов:
[FSprClient_GridClient]
NUM=№
FIO=Предприятие / ФИО
ADR=Адрес


===8<===========Окончание оригинала теста письма========
[/quote]

Но в этом файле rus_grid.lng нет названий дополнит. полей.

В файле этот список  [FSprClient_GridClient] заканчивается так:

...
...
ZNIG_PROC=Скидка
CLN_SCANCODE=№ дисконтной карты (штрих-код)
;ver5
CLIENT_SUMA=Баланс
CLIENT_CENA_TYPE=Тип цены
CLN_DIS_SUMA=Накопительная сумма
DOPOLN_DOG=Вид гражданско-правового договора

[FSprClient_GridRahs]
...............................

Где можно посмотреть названия дополнительных полей в справочнике клиентов?

admin

Вы всегда можете увидеть поля в дизайнере бланков в меню Отчеты : Переменные : Поля БД, обычно в дизайнере справа от страницы редактирования тоже есть. Дополнительные поля для справочника Клиентов как и Товаров DOPOLN, DOPOLN1, DOPOLN2 и далее по их количеству.