УРОК ! Пример пошагового решения по адаптации отчета в Б5
Select messages from
# through # FAQ
[/[Print]\]

-> Программирование отчетов в БЭСТ-5

#1: УРОК ! Пример пошагового решения по адаптации отчета в Б5 Author: nordkLocation: Горбунов Константин PostPosted: 14 Sep 2007 14:58
    —
Задача:
Сделать в товарном отчете рядом с колонкой суммы по розничной цене колонку с суммой по учетной цене из карточки партий.

Просьба рассмотреть возможность пошагового решения


Last edited by nordk on 18 Sep 2007 11:53; edited 1 time in total

#2:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 17 Sep 2007 09:46
    —
Добрый день!
1. Настроить вывод полей карточки партии в источнике данных В зависимости от того в каком разделе отчета Вам необходимо выводить данное поле такую настройку необходимо сделать для источника DataSet1 (А. Движение готовой продукции и товаров) или DataSet3 (Ведомость движения готовой продукции и товаров). Выполняется она следующим образом:
    1. Переходите на карточку запроса отчета и и устанавливаете курсор на нужный источник.
    2. С помощью свойства Params выводите список параметров источника
    3. Для параметра lPartia значение True

2. Вывести поле в отчетеПосле настройки источника необходимо вевести поле CENA_F в отчет

#3:  Author: nordkLocation: Горбунов Константин PostPosted: 17 Sep 2007 12:36
    —
Речь идет о товарном отчете конкретно.
БЭСТ-5 магазин
Торговый зал\отчеты\реестр токументов\товарный отчет( ф.Торг 29)

В отчете колонка 4. Сумма товара.
Надо: сумма товара и сумма товра себестоимость (добавить колонку
по себестоимости)

Сейчас в отчете:

CHILD формула
Code:
 [sostk]
- просьба пояснить
MASTER
DATA
формула
Code:
[If(nValuta=0,[DialogForm.DataSet1."RPS"]-[DialogForm.DataSet1."RPST"],[DialogForm.DataSet1."SUM"]-[DialogForm.DataSet1."SUMTARA"])]


Если я правильно понимаю в DataSet1 есть и себестоимость
просьба подсказать поля (особенно себестоимость тары)

#4:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 17 Sep 2007 13:36
    —
Добрый день!
nordk wrote:
Речь идет о товарном отчете конкретно.
БЭСТ-5 магазин
Торговый зал\отчеты\реестр токументов\товарный отчет( ф.Торг 29)
В предыдущем сооббщении речь шла о товарно отчете (как и было Вами написано).
nordk wrote:
В отчете колонка 4. Сумма товара.
Надо: сумма товара и сумма товра себестоимость (добавить колонку
по себестоимости)
Сейчас в отчете:
CHILD формула
Code:
 [sostk]
- просьба пояснить
Переменная sostk и stara расчитываются в коде кнопки "Выполнить", как остатки на складе в тех ценах которые указал пользователь (учетные или по прайс-листу). В строках документа выводятся данные по документу по указанной Вами формуле.
nordk wrote:
MASTER DATA
формула
Code:
[If(nValuta=0,[DialogForm.DataSet1."RPS"]-[DialogForm.DataSet1."RPST"],[DialogForm.DataSet1."SUM"]-[DialogForm.DataSet1."SUMTARA"])]


Если я правильно понимаю в DataSet1 есть и себестоимость
просьба подсказать поля (особенно себестоимость тары)

Все верно. Поля DialogForm.DataSet1."RPS" и DialogForm.DataSet1."RPSТ" - сумма по документу в ценах прайс-листа за товар и по таре. А поля: DialogForm.DataSet1."SUM" и DialogForm.DataSet1."SUMTARA" - в учетных ценах.

#5:  Author: nordkLocation: Горбунов Константин PostPosted: 17 Sep 2007 13:45
    —
Виноват не правильно поставил вопрос
Все правильно у нас есть либо в розничных ценах либо в учетных.
Меня просят сделать еще разрез в ценах поставщика (из карточки партии)
В том отчете, который строит по учетным цена

#6:  Author: nordkLocation: Горбунов Константин PostPosted: 17 Sep 2007 13:58
    —
Итак в продложение вопроса:

1. у нас по каждой строке отчета выводятся данные либо в
продажных ценах либо в учетных, поскольку такая информация
содержится в заголовке документа.
В заголовке документов ( в частности расхода) отдельного поля
в ценах поставщика нет.
2.Стало быть по каждой накладной, вошедшей в Товарный отчет
по всем строкам есть необходимость просуммировать mdocm->KOL*
spr_part->CENA_P и эту сумму отразить по строке данного отчета.

Возможно существует какой-нибудь готовый источник и будет ли
он работать в данном отчете ?
3. В свете того, что в отчете разделяют сумму товара от суммы тары,
то и в нашем случае это необходимо учесть.

Как подойти к решению такого вопроса ?

#7:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 18 Sep 2007 10:17
    —
Добрый день!
nordk wrote:
1. у нас по каждой строке отчета выводятся данные либо в продажных ценах либо в учетных, поскольку такая информация содержится в заголовке документа. В заголовке документов ( в частности расхода) отдельного поля
в ценах поставщика нет.
2.Стало быть по каждой накладной, вошедшей в Товарный отчет по всем строкам есть необходимость просуммировать mdocm->KOL*spr_part->CENA_P и эту сумму отразить по строке данного отчета. Возможно существует какой-нибудь готовый источник и будет ли он работать в данном отчете ?
Используемый в отчете источник выводит все поля карточки партий, но только по запросу. Для этого необходимо установить Значение для параметра lPartia значение True. Как это сделать я писал выше в данной теме.
nordk wrote:
3. В свете того, что в отчете разделяют сумму товара от суммы тары, то и в нашем случае это необходимо учесть. Как подойти к решению такого вопроса ?
Проблема в решении данного вопроса заключается не в источнике, а в самом отчете. Дело в том что данные по отчету группируются по каждому документу, и эта группировка производится в источнике. Для решения Вашей задачи этот вариант не подойдет. Необходимо отказатся от группировки данных в отчете и сгруппировать их в самом отчете. Порядок решения следующий:
1. В коде кнопки выполнить есть строка, в которой задается группировка записей в источнике
Code:
DataSet1.Params['cGruping'] := 'VID+DTOC(DATE,1)+TYPE+CD+ND+SCLAD';
Эту строку необходимо удалить или закомментировать.
2. Необходимо создать группировку записей в отчете по виду докуметов:
2.1. Выложить перед секцией MasterData секцию GrupHeader. Задать условие группировки записей в отчете по полям: VID, DATE, TYPE, CD, ND, SCLAD источника. Установить свойство Visible для этой секции в значение False.
2.2. Выложить после секции MasterData секцию GrupFooter. В данной секции и будут выводится строки отчета.
3. Перенести объекты с выводимой информацией с секции MasteData на секцию GrupFooter. Здесь необходимо учесть, что в числовых полях формула расчета должна быть изменена на
Code:
[SUM(<выражения>)]
Для секции MasterData необходимо установить для свойства Height значение 0, что бы данная секция не выводилась в отчет, но участвовала в расчетах.
После этого Вы имеете возможность выложить на секции GrupFooter обьект с формулой:
Code:
[SUM(DialogForm.DataSet1."KOL"*DialogForm.DataSet1."CENA_P")]
В котором необходимое значение будет посчитанно.



-> Программирование отчетов в БЭСТ-5


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group