Данные в отчете и филиальность
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Данные в отчете и филиальность
Здравствуйте.
Используется филиальность. Начинаю писать отчет на vip, в котором должна использоваться и выводится инфо по персоналу и по з/п сразу по обоим филиалам. Ранее с таким не сталкивалась. Может кто-то даст рекомендации как в своих отчетах использовать данные по филиалам одновременно.
И еще. Подозреваю возможную проблему с данными по персоналу, т.к. таблица CATALOGS не настроена как общая, т.е. у каждого ф-ла данные в CATALOGS свои. Я права в своих подозрениях или проблемы не должно быть?
Используется филиальность. Начинаю писать отчет на vip, в котором должна использоваться и выводится инфо по персоналу и по з/п сразу по обоим филиалам. Ранее с таким не сталкивалась. Может кто-то даст рекомендации как в своих отчетах использовать данные по филиалам одновременно.
И еще. Подозреваю возможную проблему с данными по персоналу, т.к. таблица CATALOGS не настроена как общая, т.е. у каждого ф-ла данные в CATALOGS свои. Я права в своих подозрениях или проблемы не должно быть?
Re: Данные в отчете и филиальность
Catalogs нужно было общим изначально. У себя, изначально делал надстройку для смешанного использования по видам каталогов.Irina_ писал(а):Здравствуйте.
Используется филиальность. Начинаю писать отчет на vip, в котором должна использоваться и выводится инфо по персоналу и по з/п сразу по обоим филиалам. Ранее с таким не сталкивалась. Может кто-то даст рекомендации как в своих отчетах использовать данные по филиалам одновременно.
И еще. Подозреваю возможную проблему с данными по персоналу, т.к. таблица CATALOGS не настроена как общая, т.е. у каждого ф-ла данные в CATALOGS свои. Я права в своих подозрениях или проблемы не должно быть?
По отчетам больших проблем нет. Filials - справочник филиалов. atl_branch ссылка в разделяемых таблицах.
Есть различные функции для работы с филиальностью.
Нужно больше конкретики в вопросах, для конкретики в ответах.
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Данные в отчете и филиальность
Catalogs при внедрении не сделали общей. Это недочет внедренцев. Сейчас изменить проблематично, т.к. сами понимаете – на этой таблице завязано многое.
А более конкретно по отчету: мне нужно выбирать инфо из архивов оплат и удержаний по заданному списку сотрудников, причем часть сотрудников работают или только в одном ф-ле или в обоих одновременно. Написание отчета по одному ф-лу трудности не вызовет. Но необходимость учета инфо по обоим ф-лам одновременно пока вызывает вопросы. Например, в таблицах Persons и Lschet есть поле Atl_Branch, в котором, как Вы пишите, хранится ссылка на ф-л. Но при просмотре индексов по этим таблицам в Support я не вижу использования в индексах этого поля. Означает ли это, что при поиске нужного сотрудника по Nrec я однозначно найду того, который нужен?
А что за ф-ции при работе с филиальностью, о которых Вы пишите? Можно пример?
А более конкретно по отчету: мне нужно выбирать инфо из архивов оплат и удержаний по заданному списку сотрудников, причем часть сотрудников работают или только в одном ф-ле или в обоих одновременно. Написание отчета по одному ф-лу трудности не вызовет. Но необходимость учета инфо по обоим ф-лам одновременно пока вызывает вопросы. Например, в таблицах Persons и Lschet есть поле Atl_Branch, в котором, как Вы пишите, хранится ссылка на ф-л. Но при просмотре индексов по этим таблицам в Support я не вижу использования в индексах этого поля. Означает ли это, что при поиске нужного сотрудника по Nrec я однозначно найду того, который нужен?
А что за ф-ции при работе с филиальностью, о которых Вы пишите? Можно пример?
Re: Данные в отчете и филиальность
Сделать можно, но очень трудоемко. Только при наличии много свободного времени.Irina_ писал(а):Catalogs при внедрении не сделали общей. Это недочет внедренцев. Сейчас изменить проблематично, т.к. сами понимаете – на этой таблице завязано многое.
Nrec уникален всегда. За это можно не волноваться. В случае филиальности atl_branch работает как дополнительный разрез, обрабатываемый на уровне драйвера СУБД.Irina_ писал(а):А более конкретно по отчету: мне нужно выбирать инфо из архивов оплат и удержаний по заданному списку сотрудников, причем часть сотрудников работают или только в одном ф-ле или в обоих одновременно. Написание отчета по одному ф-лу трудности не вызовет. Но необходимость учета инфо по обоим ф-лам одновременно пока вызывает вопросы. Например, в таблицах Persons и Lschet есть поле Atl_Branch, в котором, как Вы пишите, хранится ссылка на ф-л. Но при просмотре индексов по этим таблицам в Support я не вижу использования в индексах этого поля. Означает ли это, что при поиске нужного сотрудника по Nrec я однозначно найду того, который нужен?
Большая часть функций описана в VipProg.Irina_ писал(а):А что за ф-ции при работе с филиальностью, о которых Вы пишите? Можно пример?
Частенько приходится лазать в данные другого филиала из под пользователя, не имеющего на него доступ (или имеющего, но не выбравшего). Тогда выручает такой блок:
Код: Выделить всё
Var AllBranches,CurBranches : LongInt;
CurBranches := SortedContainer_Init ( '', 8, 100, 10, false );
SortedContainer_Copy ( CurBranches, GetCurrentBranches ); //Сохраняем список выбраных филиалов
AllBranches := SortedContainer_Init ( '', 8, 100, 10, false );
_loop Filials //Набиваем контейнер всеми филиалами
{
SortedContainer_Insert ( AllBranches, Filials.atl_nrec );
}; //loop Filials
SetBranches ( AllBranches, 0 ); //Устанавливаем видимость по всем филиалам
.....................
В данной точке мы имеем програмный доступ на все филиалы
.....................
SetBranches ( CurBranches, 0 ); //Устанавливаем изначально выбранные филиалы
SortedContainer_Done ( CurBranches, '' );
SortedContainer_Done ( AllBranches, '' );
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Данные в отчете и филиальность
Сергей, огромное спасибо за консультацию и за пример. Вы развеяли мои сомнения.
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Данные в отчете и филиальность
Столкнулась с 1-ой проблемой. В своих отчетах по з/п часто работаю с настройкой отчетного периода з/п. Использую для разных целей: для контроля дат в интерфейсе ввода параметров, для проверки необходимости работать с архивом оплат и/или начислениями отчетного периода з/п, и др. Использую sGetTune('UP.DATOTCH'). Для получения нового отчета при входе в Галактику выбрала 2 филиала. Указанная ф-ция вернула период 12.2012, хотя сейчас на обоих филиала период в з/п 06.2015. Соответственно сейчас не могу проконтролировать ввод дат в интерфейсе. Как сейчас это сделать? Возможно, мне надо входить в Галактику с одиночным выбором филиала, а потом воспользоваться Вашим примером? Или есть другой вариант?
Re: Данные в отчете и филиальность
В данном случае настройку нужно брать соответствующего филиала.
Код: Выделить всё
coGetTuneEx ( 'MYORG', OfficeFilialTune ( GetCurrOffice, FilialNo ( Persons.Atl_Branch )), 0 )
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Данные в отчете и филиальность
Отчетный период з/п мне надо вытащить в интерфейсе ввода параметров формирования отчета, т.е. на этот момент можно оттолкнуться только от перечня выбранных филиалов. Получается, что мне надо приспособить Ваш кусок кода, пройти по перечню выбранных филиалов (или всем, если выбран один), найти для каждого отчетный период з/п и выбрать максимальный. Я права?
Может еще подскажите, как вытащить настройку отчетного периода з/п по nrec филиала?
В sGetTuneEx('UP.DATOTCH', ???, ???) какие значения передать в качестве 2 и 3 параметров?
Может еще подскажите, как вытащить настройку отчетного периода з/п по nrec филиала?
В sGetTuneEx('UP.DATOTCH', ???, ???) какие значения передать в качестве 2 и 3 параметров?
Re: Данные в отчете и филиальность
Какую дату брать максимальную/минимальную или еще какую зависит от задачи.
Выбрать максимальный из перечня доступных можно так:
Выбрать максимальный из перечня доступных можно так:
Код: Выделить всё
Function GetDatOtchMax : date;
{
var DatOtch : date;
var Branches : LongInt;
Branches := GetCurrentBranches;
var iBranch : word;
var cBranch : comp;
For ( iBranch := 1; iBranch <= Container_GetCount ( Branches ); iBranch++ )
{
cBranch := Container_AtC ( Branches, iBranch - 1 );
DatOtch := dGetTuneEx ( 'UP.DATOTCH', OfficeFilialTune ( GetCurrOffice, FilialNo(cBranch)), 0 );
If Result < DatOtch
Result := DatOtch;
};
};
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Данные в отчете и филиальность
Сергей. По правде говоря не ожидала, что Вы напишите полную процедуру. Огромное спасибо за затраченное время и усилия. Буду пробовать.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Данные в отчете и филиальность
Серега, эххх..недооценивают.... )Irina_ писал(а):Сергей. По правде говоря не ожидала, что Вы напишите полную процедуру.
Re: Данные в отчете и филиальность
Сам себя не оценишь - никто не оценит!Den писал(а):Серега, эххх..недооценивают.... )
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Данные в отчете и филиальность
Даже очень ценю. Знаю, что у каждого есть своя работа, возможно и срочная. Поэтому и времени может иногда не быть не только ответить, но и прочитать. А есть и такие, кто не окажет никакую помощь из принципа. Поэтому всегда благодарна тем, кто откликается.
-
- Местный житель
- Сообщения: 554
- Зарегистрирован: 17 июл 2012, 11:56
- Откуда: Республика Беларусь, г.Могилев
Re: Данные в отчете и филиальность
Здравствуйте. Все получилось! В т.ч. и с выборкой з/п.
Нашла максимальную дату среди дат отчетного периода для филиалов, но только для того, чтобы проконтролировать дату окончания периода (в интерфейсе ввода параметров формирования отчета), за который надо формировать отчет. Потом заполнила таблицу в памяти с перечнем филиалов, там же заполнила отчетные периоды для каждого. А потом для каждой карточки из выборки по Persons.Atl_Branch из таблицы брала отчетный период там, где надо было проанализировать необходимость работы с SumvidOp и/или с Nachisl. Т.о. если сотрудник работает в обоих филиалах и отчетные периоды з/п по филиалам разные (может такое быть), то суммы по обоим ф-лам выбираются и/или из архива/начислений отчетного периода.
И теперь необязательно помечать при входе в Галактику нужные филиалы, т.к. устанавливаю видимость по всем филиалам программно.
Еще раз большое спасибо m0p3e.
Нашла максимальную дату среди дат отчетного периода для филиалов, но только для того, чтобы проконтролировать дату окончания периода (в интерфейсе ввода параметров формирования отчета), за который надо формировать отчет. Потом заполнила таблицу в памяти с перечнем филиалов, там же заполнила отчетные периоды для каждого. А потом для каждой карточки из выборки по Persons.Atl_Branch из таблицы брала отчетный период там, где надо было проанализировать необходимость работы с SumvidOp и/или с Nachisl. Т.о. если сотрудник работает в обоих филиалах и отчетные периоды з/п по филиалам разные (может такое быть), то суммы по обоим ф-лам выбираются и/или из архива/начислений отчетного периода.
И теперь необязательно помечать при входе в Галактику нужные филиалы, т.к. устанавливаю видимость по всем филиалам программно.
Еще раз большое спасибо m0p3e.
Re: Данные в отчете и филиальность
Незачто. Обращайтесь.
У меня этих филиалов 11 штук.
У меня этих филиалов 11 штук.