Если Вы имеете ввиду "вечерние, ночные и сверхурочные часы", для которых в этом отчете есть отдельная колонка, то Вам нужно в карточке запроса отчета поставить галочку для соответствующей колонки табеля. (Список этих колонок находится в правом нижнем углу карточки запроса под заголовком "Вечерние и ночные часы")
В каталоге Server\Data\PRO есть файл Reptempl.DBF. В нем храняться все отчеты. Для системных отчетов в поле IsSystem стоить значание .T., для пользовательских - значение .F.
В дизайнере свой отчет можно переименовать и изменить, а при попытке сделать это с системным отчетом, БЭСТ выдаст сообщение что этот отчет системный и его изменять нельзя.
Как Вы сейчас получаете данные для одной записи в контактах? Используете источник bdf.sprav.sprav_partner_contact ?
1. В этот источник можно в параметре передать условие фильтра по которому будут выбираться нужные контакты.
2.По выбранным контактам можно организовать перебор примерно так
(DataContact - объект "Источник данных БЭСТ", у каторого DSName = bdf.sprav.sprav_partner_contact):
DataContact.First;
while not DataContact.eof do begin
if UpperCase([DialogForm.DataContact."ДОЛЖНОСТЬ"]) = 'ДИРЕКТОР' then begin
Direc := [DialogForm.DataContact."ФАМИЛИЯ_ИО"];
break;
end;
DataContact.Next;
end;
Открыть таблицу командой типа
Use "MyDbf.dbf" shared new alias "my"
в дизайнере отчетов нельзя.
Но, если для таблицы нет источника данных, а сама таблица лежит в каталоге базы данных БЭСТ-5,
то для получения данных из этой таблицы можно использовать компонент "Запрос к БЭСТ".
У этого компонента в свойстве SQL пишется запрос, примерно такого вида:
sel ect * from MyDbf
Если таблица MyDbf лежит в подкаталоге базы USER, то надо писать
select * fr om user_MyDbf
Пояснительная записка к HF11:
Общие данные
_____________
1. В карточку партнера:
• На закладке «Прочее» и в карточке собственного предприятия на закладке «Коды» добавлено поле «ОГРН».
• В карточку адреса добавлено поле КПП по месту нахождения».
В ПОСЛЕДУЮЩЕМ ДОПОЛНЕНИИ эти данные будут использоваться в печатных формах.
То есть в источнике bdf.sprav.sprav_partner поле КОД_ОГРН появится в HF12.
Скорее всего у Вас в справочнике ставок НДС у ставки 20% не проставлена дата окончания действия ставки. Она должна быть 31/12/2007. Если дату укажите - сортировка ставок должна стать правильная. Поменять порядок сортировки колонок кросс-таба внутри отчета нельзя. Это можно делать только в источнике.
этот не по разработке отчетов, а по настройке справочников. Спрашивайте такое на горячей линии.
1. А стандартная форма штатного расписания в приложении "Кадры" не устраивает? Или у Вас "Кадры" не куплены?
2. Писать [DialogForm.DS_SheetCalcStr."COL_5"] нельзя, потому что в объекте-источнике DS_SheetCalcStr поля COL_5 не существует.
3. Что пишется в поле NRATE (оклад или ставка) определено в программном коде источника.
Формула такая: IIF(rate=0,scale, rate). То есть, если оклад не заполнен (нулевой), то в поле выводится тарифная ставка, если оклад указан, то он и выводится.
4. В отчет включаются те сотрудники, у которых либо рассчитаны лицевые счета, либо есть ненулевое сальдо на начало или на конец месяца
(может и ещё какие-то есть условия).
Все эти условия подсмотреть можно в исходных текстах источника. Но источник для формы Т-51 довольно не простой в плане программного кода. А потребности у Вас пока намного "скромнее". Поэтому всё же рекомендую попробовать начать писать собственные источники для простых отчетов.
5. Если нужна сумма итого по полю NRATE, то бросте на секцию DetailFooter "прямоугольник с текстом" и напишите в нем формулу
[SUM([DialogForm.DS_SheetCalcStr."NRATE"])].
Если же хотите иметь отдельную колонку с окладами и отдельную с тарифами, то надо писать свой источник, существующий такой возможности не даёт.
Новосибирск ОАО "Электропромпроект" пишет:
Как я догадываюсь, что формат А3 в упомянутом отчете в Зарплате, можно применять только тогда, когда есть широкая печать? Верно?
Автаматически этот отчет, в случае принтер формата А4, разбиваться на страницы не будет. Верно ?
Да. Оба раза верно!
Цитата
Новосибирск ОАО "Электропромпроект" пишет:
Если верно, тогда мне непонятен Ваш, Сергей, ответ.
С одной строны Вы пишите:
"подключен принтер формата А4, а Вы пытаетесь вывести на него отчет большего формата, который на этот принтер просто физически вывести невозможно . "
С другой, Вы даете совет:
"Проверьте ещё в меню "Файл->Параметры отчета", чтобы был установлен "Виртуальный принтер".
В меню "Файл->Параметры страницы" на закладке "Поля" обратите на размеры заданных полей. Возможно из-за них отчет не влезает на страницу. Чтобы в дизайнере в длину отчет не обрезался по границе формата, на закладке "Бумага" установите галочку "Неограниченная высота.""
Т.е. содной строны физически вывести невозможно, с другой - Вы даете советы по настройке, говоря Возможно из-за них отчет не влезает на страницу.
Это надо понимать , что все же и большой документ путем соответсвующих настроек можно распечатать?
Если у отчета установлены большие поля страницы, а сам отчет такой ширины, что и без полей еле-еле влезает в формат А4, то с полями он конечно в этот формат не влезет (поля надо "обнулять"). Но чтобы влез и с полями, можно установить галочку "растянуть на область печати". Для вывода отчета формата А3 на принтер формата А4 эта галочка не подойдёт.
Галочка "Неограниченная высота" влияет только на процесс создания отчета в дизайнере. Она позволяет НЕ обрезать рабочее поле дизайнера по нижней границе формата бумаги. Это удобно, когда в отчете есть большое количество секций и они по высоте занимают много места. На процесс вывода отчета на принтер эта галочка не влияет.
Цитата
Новосибирск ОАО "Электропромпроект" пишет:
3. в Параметрах отчета - Виртуальный принтер. Для чего он, если размер печатаемого листа опредляется форматом принтера?
4. И последнее. Напрмер, отчет такой ширины, что на лист А4 не вмещается, если печатать нормальным шрифтом, а при печати сжатым шрифтом - входит в лист ф.А4.
Этим как-то можно управлять при формировании(построении в ДО) отчета или при печати (чтоб он не "обрезался" как я писал выше )?
Как же напечатать широкий документ?
3.Вот что написано про виртуальный принтер в документации:
В списке принтеров имеется «Виртуальный принтер». Он необходим в случае, если в системе нет установленных принтеров. При этом дизайнер и предварительный просмотр отчета функционируют нормально. Вы можете выбрать любой из форматов бумаги, поддерживаемой Windows (вплоть до формата A2), устанавливать ориентацию листа бумаги. Т.е. «виртуальный» принтер эмулирует функции реального принтера (разумеется, на нем нельзя печатать).
Другой случай, когда необходимо использовать виртуальный принтер — Вы разрабатываете форму отчета для принтера с форматом бумаги А3, а самого принтера у Вас нет (он есть у заказчика). В этом случае выбор виртуального принтера снимает проблему.
4.Для того, чтобы печатать отчет сжатым шрифтом на формате А4, а нормальным на формате А3, надо при разработке отчета сделать в нем две отдельные страницы. Одна - отчет сжатый (мелкий шрифт) для А4, вторая - отчет "нормальный" для А3. В карточке запроса дать выбор формата и в зависимости от того, какой формат выберет пользователь выводить на печать нужную страницу из шаблона отчета (а НЕ нужную сделать невидимой). Это делается по аналогии с отчетом "Ведомость по страх.взносам во внебюджет.фонды 2012".
Автоматически разбивать отчет большого формата на несколько страниц А4 пока нельзя, но сейчас ведутся работы по подключению в БЭСТ-5 FastReport-а версии 4. Там это можно будет делать.
Похоже, что у Вас к компьютеру подключен принтер формата А4, а Вы пытаетесь вывести на него отчет большего формата, который на этот принтер просто физически вывести невозможно. FastReport при выводе на печать считывает настройки принтера, и автоматически подгоняет под них формат отчета. В этот момент видимо и "теряются" все настройки. Сохраняйте отчет перед выводом на печать.
Проверьте ещё в меню "Файл->Параметры отчета", чтобы был установлен "Виртуальный принтер".
В меню "Файл->Параметры страницы" на закладке "Поля" обратите на размеры заданных полей. Возможно из-за них отчет не влезает на страницу. Чтобы в дизайнере в длину отчет не обрезался по границе формата, на закладке "Бумага" установите галочку "Неограниченная высота."
Новосибирск ОАО "Электропромпроект" пишет:
Здравствуйте!
Формирую отчет, широкий по формату. Т.е у меня много граф, котрые при печати вмещаются в формат А4 Ланшафт.
А вот создать его на странцие что представляет Дизайнер Отчетов не могу, не дает двигаться вправо на нужную ширину.
Смог установить в Параметрах страницы Альбомную ориентацию. Чуть шире стало, но зато размер в длину обрезался границами формата А4 альбом.
Т.е все что ниже границы не печатается.
Как создавать отчеты произвольного размера, что бы само разбивалось на страницы? Т.е.,где задать произвольный размер отчета как в длину, так и в ширину
Как задать что печать должна быть сжатая? ( есть отчеты которые сами распознают (или задано), что печать, к примеру ландшафт и сжатым шрифтом..
Размеры страницы устанавливаются через меню Файл->Параметры страницы...
На закладке "Бумага" выбираете подходящий формат. Если ничего из существующего Вам не подходит, то в конце списка форматов выбираете "другой" и указываете нужную ширину и высоту.
На закладке "поля" можно установить галочку "растянуть на область печати", тогда отчет сам будет масштабироваться под ширину страницы.
В операторе
Edit1.SaveUserParam := False;
имя объекта Edit1 конечно же надо заменить на имя объекта из карточки запроса, для которого надо отменить запоминание значения.
Для кода подчинённости это будет выглядеть так:
Kod_podch.SaveUserParam := False;
Если правильно напишите, то этого будет достаточно.
USERPARAMREP.dbf действительно общий для всех баз. Для каждого параметра карточки запроса там хранится идентификатор базы и идентификатор отчета, для которого этот параметр сохраняется. Но это всё там лежит в совершенно "нечитабельном формате", поэтому разобраться лучше не пытайтесь. Удалить записи можно и через FoxBro. Сначала откройте базу .. .\Server\Data\PRO\best5pro.dbc, а потом в ней выберите таблицу USERPARAMREP.dbf. Если в это время с БЭСТом никто не работает и выгружен сервер приложений, то таблица эта должна открываться без проблем. Вы видимо в меню FoxBro выбрали пункт меню Файл->Открыть базу данных, и попытались вместо базы сразу открыть DBF-файл, поэтому и получили такую ошибку. Только имейте ввиду, что очистка USERPARAMREP.dbf удалит все запомненные параметры для всех отчетов во всех базах. Это конечно не смертельно, но иногда может оказаться неприятно для пользователей.
Кажется понял, в чем у Вас проблема. Как то я уже писал, что
"по умолчанию все элементы карточки запроса запоминают последние введенные в них значения и при следующем запуске отчета их восстанавливают. Чтобы отменить это запоминание используется свойство SaveUserParam.
В событии OnActivate карточки запроса надо написать оператор такого вида:
Edit1.SaveUserParam := False;"
Поскольку в отчете "Отчет 4-ФСС" свойство SaveUserParam в False нигде не устанавливается, то только при первом запуске отчета в карточке запроса отображается
код подчинённрсти из Карточки собственного предприятия, а при последующих запусках Вы видите то значение, которое было при предыдущем запуске, невзирая на изменения в Карточке собственного предприятия. В качестве эксперимента можете попробовать в каталоге PRO очистить (удалить все записи) файл USERPARAMREP.dbf, в котором хранятся параметры всех карточек запросов. После такой очистки в карточке запроса отчета "Отчет 4-ФСС" код подчинённости (и другие поля) должны верно проставиться из Карточки собственного предприятия (но только один раз).
Новосибирск ОАО "Электропромпроект" пишет:
... Вот уже полдня ищу где код ФСС выбирается для отчета Форма 4-ФСС. У меня нет кода подчинённости, а он вычисляется из кода ФСС.
В каких настройках?
А вычисляется он так:
В шаблоне
[[kod_podch.text]+Replicate('—',5 -c))]
Кстати, что такое здесь "с"?
Функция FIRM вроде как из картотеки предприятий берет, но там не нашёл кода ФСС.
Есть в Настройке/Общие данные/Карточка предприятия , но оттуда не берет.
В Экспорте данных в электроннном виде тоже не нахожу....
...далее более...
Разные версии Формы 4-ФСС извлекают разные значения кода ФСС.
К примеру формы с кодом 94 и 89 в ДЕМО базе выдают разные значения кода подчинености
Тоже самое и код тарифа от НС и ПЗ разные значения ???
[[kod_podch.text]+Replicate('—',5 -c))]
это ошибка
долдно быть так (на других страницах именно так и написано):
[[kod_podch.text]+Replicate('—',5 - length(trim([kod_podch.text])))]
Kod_podch.text := COPY([FIRM('lbl_fcc')],1,4)+'1';
код ФСС есть в карточке собственного предприятия на закладке Коды.
Здесь берется 4 символа из кода ФСС + "1"
Да. Разные версии могут давать разные коды, в старой версии могли так считать , в новой по другому (в новой правильно).
94 и 89
Эти коды даже на демо ни о чем не говорят. Так как при установке пакета код формируется автоматически и вполне может не совпадать с "исходным". Нужно точное название формы, чтобы понять что к чему.
А коды тарифов зависят от того какой код тарифа указали в зарплате.
Старые версии пытались вычислять сами, а новая версия считывает из зарплаты из настройки фондов.
Новосибирск ОАО "Электропромпроект" пишет:
Конечно можно.
Главное, чтобы проще было его найти.
Этим отчетом часто пользуется руководство и ему не гоже лазить по ПРиложениям и где-то там еще искать.
Поскольку этот отчет у Вас находится в АРМе Зарплата, то идете в этот АРМ, запускаете там дизайнер отчетов. Идете в меню Файл->Открыть...
В окне выбора отчета устанавливаете засветку на Ваш отчет и нажимаете кнопку "Привязка к папкам" (вторая справа на верхней панели). Появится окно привязки отчетов к папкам. Выбираете там нужную папку и ставите напротив неё галочку. Потом - кнопка "Ok".
Действительно, в данном случае проще написать свой источник. В БЭСТ-е таких простых отчетов кажется и нет. За основу можно взять источник для выдачи основных данных по карточке персонального учета: bdf.form_salary.form_salary_osn. Только он расчитан на выдачу данных только по одному сотруднику. Поэтому условие отбора записей придётся изменить.
Полезное пояснение, где только берете? Нигде же не написано! :( В моем случае это сработало так:
А как теперь подогнать заголовок?
Файлик, где беру, прикрепил. А вот побороть таким образом двухуровневый заголовок не получается. Могу только предложить оставить в заголовке один уровень, либо изменить источник данных на FoxPro таким образом, чтобы для Вашего случая значения верхнего уровня во всех колонках были разные. Тогда этот заголовок не будет растягиваться и его соответственно не будет видно. Ещё лучше написать источник так, чтобы он выдавал только одну колонку с общим итогом, а в самом отчете правую суммарную колонку "выключить".
В событии OnCrossData попробуйте написать строку:
CrossData2Cross1.Width := 0;
здесь имя секции CrossData2Cross1 формируется из строки 'CrossData2', к которой прибавляется имя самого объекта CrossTab - 'Cross1'
Вроде бы не должно этих ошибок появляться. Это ссылки на заголовочные файлы от старых библиотек классов, которые уже не используются.
Можете попробовать установить последний доступный дистрибутив БЭСТ-5 и взять каталог Best5\Client\Foxdatasource оттуда.
Можно просто проигнорировать эти ошибки. В крайнем случае вот содержимое этих файлов (создайте их как обычные текстовые файлы):
Да. Действительно "DSName формируется по своим правилам".
В строке "BDF.bel_salary.user_sprav" первые три буквы "BDF" обозначают тип источника данных (что этот источник написан на Visual FoxPro и искать его надо в каталоге) ...Server\Data\PRO\DATASOURCE\
bel_salary - это собственно имя библиотеки классов FoxPro. То есть должны существовать файлы
...Server\Data\PRO\DATASOURCE\bel_salary.vct
и
...Server\Data\PRO\DATASOURCE\bel_salary.vcx
user_sprav - это имя класса внутри библиотеки классов bel_salary
Для формирования результирующей таблицы с данными (курсора) в классе bel_salary (как и в других классах) вызывается метод OpenArea.
Аналогично строка "dbf.asset_rep.assets_oborot" определяет обращение к библиотеке классов asset_rep:
.. .\Server\DATA\Pro\DataSource\asset_rep.vct
.. .\Server\DATA\Pro\DataSource\asset_rep.vcx
а в этой библиотеке у класса assets_oborot будет вызываться метод OpenArea.
Для того, чтобы посмотреть описание параметров какой-либо функции в дизайнере отчетов надо:
1. Открыть в дизайнере шаблон любого отчета.
2. Двойным нажатием мышки на любом поле отчета (объект "прямоугольник с текстом") открыть окно "Редактор текста"
3. В этом окне в верхнем левом углу нажать кнопку "Вставить выражение".
4. В появившемся окне "Вставка выражения" нажать кнопку "Функция..."
5. Откроется окно "Доступные функции", в котором будут перечислены функции по группам.
6. Если в правой части этого окна выбрать функцию, то в нижней отобразиться её описание.
7. Описание функции GLOBAL находится в группе "БЭСТ-5".
Вот описание параметров функции GLOBAL, которое можно найти в описании функций в дизайнере отчетов:
GLOBAL(<ИмяПоля>)
Выводит общие настройки для текущего предприятия из файла INI\Global_V.dbf. Возможные значения параметра <ИмяПоля> приведены ниже:
'Base_Curr' - код основной валюты;
'Curr_Accur' - точность основной валюты;
'Base_Lang' - код языка по умолчанию;
'Date_Beg' - начало финансового периода;
'Acc_Len' - максимальная длина счета;
'USN_BEG' - начало учета по УСН;
'USN_Date' - дата выдачи;
'USN_NOM' - номер уведомления;
'Prn_User' - вывод составителя;
'Prn_date' - вывод даты.
'Fio_Rep' - принимающий отчеты.
Оператор
mask :='#,##0.'+Replicate(0,acc)+ ';; ';
создает маску с количеством знаков после запятой, равным точности основной валюты, заданной в справочнике валют.
В Вашем случае пожалуй проще будет установить требуемую точность напрямую в свойстве поля DisplayFormat.