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

Додаток 47 (деталізація товару) для ЗСУ

Автор admin, Сьогодні в 10:43:36

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

LL і 1 Гість дивляться цю тему.

admin

Як робити новий звіт:
1. Меню Звіти : Створити новий звіт, встановлюємо ім'я звіту.
2. Додаємо наступний текст у SQL запит (краще його копіювати українській розкладці, щоб уникнути проблеми кодувань):
EXECUTE BLOCK
RETURNS
(
  tov_name ttovar_name,
  tov_kod tnu,
  tov_ed_izm ted_izm,
  tov_cena tmoney,
  date_dok tdate,
  doc_type tnum,
  name tsm_kod,
  nu tnu,
  date_dok2 tdate,
  client_name tfio,
  kolvo_in tkolvo,
  kolvo_out tkolvo,
  kolvo_all tkolvo,
  kolvo_main tkolvo,
  sklad_from tsm_kod,
  sklad_to tsm_kod,
  sklad_from_real_name tsm_kod,
  sklad_to_real_name tsm_kod,
  kolvo_from tkolvo,
  kolvo_to tkolvo
)
AS
  DECLARE VARIABLE sklad_from_id tnum;
  DECLARE VARIABLE sklad_to_id tnum;
BEGIN
  kolvo_all = 0;
  kolvo_main = 0;
  FOR
    SELECT
      tn.name,
      tn.kod,
      tn.ed_izm,
      tn.cena,
      vd.date_dok,
      vd.doc_type,
      dt.name,
      vd.nu,
      vd.date_dok AS date_dok2,
      CASE
        WHEN vd.client_id != 0 THEN c.fio
        ELSE sn_t.name
      END AS client_name,
      CASE
        WHEN tm.from_sklad_id = 0 THEN tm.to_kolvo
        ELSE 0
      END AS kolvo_in,
      CASE
        WHEN tm.to_sklad_id = 0 THEN tm.to_kolvo
        ELSE 0
      END AS kolvo_out,
      tm.from_sklad_id,
      tm.to_sklad_id,
      sn_f.name AS sklad_from,
      sn_t.name AS sklad_to,
      CASE
        WHEN tm.from_sklad_id NOT IN (0,#склад_№#) THEN sn_f.name
        ELSE NULL
      END AS sklad_from_real_name,
      CASE
        WHEN tm.to_sklad_id NOT IN (0,#склад_№#) THEN sn_t.name
        ELSE NULL
      END AS sklad_to_real_name,
      CASE
        WHEN tm.doc_type_id IN (1,10) THEN tm.to_kolvo
        ELSE 0
      END AS kolvo_from,
      CASE
        WHEN tm.doc_type_id IN (8,10) THEN tm.to_kolvo
        ELSE 0
      END AS kolvo_to
    FROM
      view_alldocs vd
        JOIN tovar_move tm ON (
          vd.doc_type IN (10,1,8) AND
          vd.doc_type = tm.doc_type_id AND
          vd.num = tm.doc_id AND
          tm.mdate >= '#дата_с#' AND
          tm.mdate <= '#дата_по#' AND
          tm.is_usluga = 0 AND
          tm.tovar_id = #товар_№#
        )
        JOIN tovar_name tn ON (tm.tovar_id = tn.num)
        JOIN doc_types dt ON (vd.doc_type = dt.num)
        LEFT JOIN sklad_names sn_f ON (tm.from_sklad_id = sn_f.num)
        LEFT JOIN sklad_names sn_t ON (tm.to_sklad_id = sn_t.num)
        LEFT JOIN client c ON (vd.client_id = c.num)
    ORDER BY
      vd.date_dok
    INTO
      :tov_name,
      :tov_kod,
      :tov_ed_izm,
      :tov_cena,
      :date_dok,
      :doc_type,
      :name,
      :nu,
      :date_dok2,
      :client_name,
      :kolvo_in,
      :kolvo_out,
      :sklad_from_id,
      :sklad_to_id,
      :sklad_from,
      :sklad_to,
      :sklad_from_real_name,
      :sklad_to_real_name,
      :kolvo_from,
      :kolvo_to
  DO
  BEGIN
    kolvo_all = kolvo_all + kolvo_in - kolvo_out;
    IF(sklad_from_id = #склад_№#) THEN
      kolvo_main = kolvo_main - kolvo_from;
    IF(sklad_to_id = #склад_№#) THEN
      kolvo_main = kolvo_main + kolvo_to;
    SUSPEND;
  END
END

3. Вмикаємо у виборі параметрів для звіту галочки: "Період дат", "Склад", "Товар".
4. Натискаємо "Зберегти як новий".
5. Закриваємо, заходимо до Звітів : Звіти користувачів та відкриваємо ваш звіт.
6. Натискаємо кнопку "У режим редагування", далі кнопку "Завантажити шаблон" відкриваємо збережений шаблон UserZvit999.fr3 з цього листа.
7. Натискаємо "У режим перегляду"

Пояснення по звіту:
1. Це звіт саме деталізації по товару / майну, тобто без титульного.
2. При виборі ви вказуєте ваш основний склад з якого будуть враховуватись переміщення на всі інші склади (підрозділи)
3. Задіяні документи: Прихідна накладна (Основний склад), Видаткова накладна (Основний склад і додаткові), Накладна на переміщення ((Основний склад і додаткові)