[Logo] Форум ПАРУС
Шахматная ведомость с расширенной группировкой по строкам и стобцам  XML
Индекс форума » Народная инициатива
Автор Сообщение
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

ZKM_REGANT wrote:to AAP

Подскажите, при попытке вывести с группировкой по подразделениям выводит названия подразделений, выплат, но все суммы 0, если по тем же исполнениям, но с группировкой по лицевым или, например, должностям, то суммы выводятся


Доброго времени суток. Я проверил у себя данный вид группировки и ошибки не обнаружил. Т.о., на текущий момент, причина нулевых сумм у Вас остается неопределенной. Извините.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
PUZANOV_AV
Новичок

Зарегистрирован: 28.06.2013 10:56:53
Сообщений: 151
От: Артем Пузанов
Оффлайн

Подскажите, делали ли Вы доработки по отчету? В частности формирование по выплате без учета группы и оптимизация формирования отчета.
[Email]
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

PUZANOV_AV wrote:Подскажите, делали ли Вы доработки по отчету? В частности формирование по выплате без учета группы и оптимизация формирования отчета.


Здравствуйте. Нет - не делал. Оптимизация, на мой взгляд, сведется к перестройке логики запросов, а на это, пока, нет свободного времени.
С уважением.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
EVGENIY_N
Пользователь
[Avatar]

Зарегистрирован: 29.10.2012 19:37:16
Сообщений: 265
Оффлайн

AAP, спасибо за очень полезный отчет!

--
Del/ Здесь был вопрос, ответ на который я уже нашёл. /Del
--

Это сообщение было изменено 2 раз. Последнее изменение было в 14.11.2013 11:09:34

AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

EVGENIY_N wrote:AAP, спасибо за очень полезный отчет!

--
Del/ Здесь был вопрос, ответ на который я уже нашёл. /Del
--


Без проблем! Готовится новая версия, в которой будет группировка по спискам должностей и ещё несколько плюшек. Вообще, конечно, надо подумать над ускорением, но что-то никак не займусь.

Это сообщение было изменено 1 раз. Последнее изменение было в 14.11.2013 11:22:43


clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
EVGENIY_N
Пользователь
[Avatar]

Зарегистрирован: 29.10.2012 19:37:16
Сообщений: 265
Оффлайн

AAP wrote: Готовится новая версия, в которой будет группировка по спискам должностей и ещё несколько плюшек.


Отлично, как раз тоже задумался над такой группировкой. А пока пробую добавить в ШВ вывод количества ставок (возникла такая необходимость, правда, есть некоторые нюансы).

Это сообщение было изменено 2 раз. Последнее изменение было в 14.11.2013 13:26:38

AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

EVGENIY_N wrote:
AAP wrote: Готовится новая версия, в которой будет группировка по спискам должностей и ещё несколько плюшек.


Отлично, как раз тоже задумался над такой группировкой. А пока пробую добавить в ШВ вывод количества ставок (возникла такая необходимость, правда, есть некоторые нюансы).


Я хотел вывести кол-во ставок, но в общем интервале отбора ставка может меняться. Ну, вывести строку, с динамикой ставок труда не представляет, а как всё это будет интерпретироваться? Поэтому я оставил эту затею; всё же не стоит делать из шахматки мега-отчет.
Хотя, пока писал текст выше, в голову пришла идея сделать группировку сумм не только по лицевым счетам, но и по размеру ставки внутри лицевого счета, но опять же, зачем?

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
EVGENIY_N
Пользователь
[Avatar]

Зарегистрирован: 29.10.2012 19:37:16
Сообщений: 265
Оффлайн

Да у меня тоже есть некоторые сомнения насчет достоверности выводимой информации по ставкам. В качестве разминки, наверное, добавлю, но в полезности такой модернизации сомневаюсь .
SARGEANT
Опытный пользователь

Зарегистрирован: 01.02.2013 14:12:25
Сообщений: 1981
Оффлайн

Вы не могли бы выложить последнюю версию?
было бы крайне любопытно

Имеющаяся версия уже имеет потрясающие возможности, но мелкие проблемы и хотелки остаются. Вдруг они уже решены, чтоб не изобретать велосипеда
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

Ну из хотелок есть только:

1)группировка по единственной итоговой записи для расчета сумм по всему контрагенту (это для того, чтобы не выводить полный список контрагентов) - итог для 9-й группировки.

2)Группировка по категории сотрудника. В этой группировке берутся денежные суммы по контрагенту в целом и записываются в группу Категории сотрудника. При этом, в сумму не включаются деньги основных исполнений и их совместительств, если у основного исполнения категория сотрудника отличается от выбранной (по помеченным записям). Эта группировка полезна нам при расчете заработной платы ректора, когда нужно выбрать всю зарплату основного персонала, но с учетом того, что человек работал по основному ИД на указанной категории сотрудника. Кстати, новые отчеты ЗП Образование должны считаться подобным образом.

Из исправлений:

ШВ теперь понимает иностранные буквы в названиях групп выплат и ещё что-то правил, но уже забыл что.

Если надо, выложу, но хотелось бы больше информации о найденных ошибках.

P.S. XML-версия всё же будет, но позже.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

Выложил релиз.

Ещё раз убедительно прошу писать хотелки и баги.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
EVGENIY_N
Пользователь
[Avatar]

Зарегистрирован: 29.10.2012 19:37:16
Сообщений: 265
Оффлайн

Спасибо за обновление.
Только что-то у меня Excel ругается ("Произошла ошибка внешнего программного объекта").
Это только у меня так?
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

У меня не было такой ошибки.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
EVGENIY_N
Пользователь
[Avatar]

Зарегистрирован: 29.10.2012 19:37:16
Сообщений: 265
Оффлайн

Покопаюсь попозже. Может, какие параметры не так задал.
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

Забыл написать. В новой ШВ 4 новых параметра для 14-й группировки. Это виды ИД для сопоставления внутренних совместительств для Основного ИД и для Внешнего.

Наименование Параметр хранимой процедуры Тип данных Приглашение ко вводу Привязка Обязательный Раздел Метод вызова
SCLNPSPFMTYPEOSN SCLNPSPFMTYPEOSN Строка (string) Вид ИД "Основной" Документ/Учётный регистр/Словарь Нет Виды должностного исполнения Виды должностного исполнения
SCLNPSPFMTYPEOSNCOMB SCLNPSPFMTYPEOSNCOMB Строка (string) Вид ИД "Внутренний совместитель" Документ/Учётный регистр/Словарь Нет Виды должностного исполнения Виды должностного исполнения
SCLNPSPFMTYPEEXT SCLNPSPFMTYPEEXT Строка (string) Вид ИД "Внешний совместитель" Документ/Учётный регистр/Словарь Нет Виды должностного исполнения Виды должностного исполнения
SCLNPSPFMTYPEEXTCOMB SCLNPSPFMTYPEEXTCOMB Строка (string) Вид ИД "Внешний совместитель (совместитель)" Документ/Учётный регистр/Словарь Нет Виды должностного исполнения Виды должностного исполнения

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
LUKASHENOK_S_F
Новичок

Зарегистрирован: 17.04.2013 00:50:57
Сообщений: 133
Оффлайн

Шахматная ведомость с расширенной группировкой по строкам и стобцам!?
AAP wrote:Ещё раз убедительно прошу писать хотелки и баги.

Есть возможность детализации выплат по составам затрат?

Это сообщение было изменено 1 раз. Последнее изменение было в 04.04.2014 16:53:18

SARGEANT
Опытный пользователь

Зарегистрирован: 01.02.2013 14:12:25
Сообщений: 1981
Оффлайн

Ошибки:

1. Формулы сумм по колонкам сдвинуты влево на 1 колонку. То есть формула в первой колонке суммирует суммы второй колонки, формула во второй колонке - суммирует суммы третьей колонки, и т.д. В формуле итога последней колонки из-за этого вообще показывает ошибку #ССЫЛКА!
Например, в прилагаемом примере «шахматная ведомость итог по колонкам левее.xls» видно, что в колонке Отпуск формула в строке Итого суммирует суммы соседней колонки "ПремЕжм+Р/К", и т.п.
2. При группировке строк 5 «по подразделению» падает в Экселе, потому что в шаблоне нету колонки с именем rep_departmentCol. Судя по программному коду и по эксельному шаблону, в шаблоне нет еще множества других определенных в коде колонок. То есть наверно будет падать и еще при каких-то группировках. Не пробовал

Эти две ошибки заставляют предположить, что версия выложенного эксельного шаблона не соответствует версии процедуры. Отсюда очевидная хотелка — работа должна выкладываться комплектом, в архиве. Это позволяет и лучше обеспечить целостность, и сохранить даты файлов — а это немаловажно, тем более что версию в файлах нигде не пишем (что тоже зря)

3. Применение оракловых функций regexp - постоянный источник косяков. Будет падать, если в мнемокодах любые левые символы: нерусские буквы, скобки любых видов. Кроме того, не будет кушать парусные регулярные выражения ? и *. А должно. Поэтому обработка мнемокодов должна производиться парусной функцией STRINLIKE
4. поиск по мнемокодам делается без учета организации (COMPANY), то есть будет падать, если в базе ведется более одной организации. Вообще конструкция
select max(rn) from ' || tableName || ' where code = :1
запрещена законом. Это сознательная расстановка граблей. Какой может быть max(), если ищем конкретный объект?!

Хотелки:

1. Параметры отчета, которые галочки, не должны допускать серого состояния, потому что в данном отчете таковое не имеет смысла, и это дополнительно сбивает пользователя с толку и существенно затрудняет пользование отчетом. Чтобы не было серого состояния, логический параметр должен быть а)обязательным б)ему должно быть прописано значение по умолчанию Нет
2. Удержания и отчисления идут в одной куче с начислениями, то есть и суммируются в одну кучу. В такой сумме мало смысла. Удержания и отчисления должны идти отдельно от начислений, и суммироваться в отдельный итог
3. При компиляции выдает тучу хинтов, типа
Hint: Parameter 'nSelAgnlistByAge' is declared but never used in 'vlsu_chessreport02'
Hint: Constant 'rep_payX' is declared but never used in 'vlsu_chessreport02'
Это опять-таки расстановка граблей, в первую очередь себе, но и своим последователям. Ведь хинты - они не просто так. При нормальном программировании хинтов оставаться не должно. Каждый хинт - это потенциальная или реальная ошибка в программе. Когда хинтов туча - не будешь же их просматривать все, их слишком много. В результате ошибки выявлены не будут.
Поэтому перед релизом все хинты положено из программы выводить, чтоб не оставалось ничего. То есть закомментить хотя бы все те строки, по которым выдает хинты. Если уж по каким-то соображениям не желательно их просто удалить
4. Формат ячеек сумм должен быть с фиксированным количеством десятичных знаков, с разделителем тысяч, с выравниванием вправо. А он просто общий. Это замедляет анализ отчета пользователем
 Имя файла шахматная ведомость итог по колонкам левее.xls [Disk] Скачать
 Описание Описание отсутствует
 Размер файла 46 Kbytes
 Загружено:  50 раз(а)

Это сообщение было изменено 1 раз. Последнее изменение было в 05.04.2014 14:55:51

SARGEANT
Опытный пользователь

Зарегистрирован: 01.02.2013 14:12:25
Сообщений: 1981
Оффлайн

с галочками "Текущий расчет", "Все расчеты" - ошибка постановки. Галочка "Текущий расчет" - лишняя, ее надо убрать. И так понятно, что текущий - какой же еще?
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

Бесспорно, замечания дельные. Спасибо.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

SARGEANT wrote:Ошибки:

2. При группировке строк 5 «по подразделению» падает в Экселе, потому что в шаблоне нету колонки с именем rep_departmentCol. Судя по программному коду и по эксельному шаблону, в шаблоне нет еще множества других определенных в коде колонок. То есть наверно будет падать и еще при каких-то группировках. Не пробовал




Колонки rep_departmentCol действительно нет, т.к. остался старый шаблон, но на группировку это не влияет, т.к. данная колонка относится к группировке по лицевым счетам и выводит подразделение, в котором находится Л.С..

Улучшать данную версию ведомости не буду, т.к. считаю, что смыла нет, т.к. ведутся работы по созданию ШВ в XML. В остальном, старя версия вполне работоспособна, за исключением случаев, когда имеется несколько организаций. Впрочем, ведомость не разрабатывалась с учетом этих моментов, т.к. изначально предполагалось её использование в единственной организации.

Если у кого есть ещё замечания, выкладывайте, они будут учтены в новой версии XML.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
VISOR
Новичок

Зарегистрирован: 07.06.2013 13:40:01
Сообщений: 2
Оффлайн

Здравствуйте, уважаемый Александр ! Подскажите, пожалуйста, откуда можно скачать последнюю версию Вашей шахматной ведомости ? Заранее спасибо !
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

VISOR wrote:Здравствуйте, уважаемый Александр ! Подскажите, пожалуйста, откуда можно скачать последнюю версию Вашей шахматной ведомости ? Заранее спасибо !


В стартовом сообщении архив с работоспособной версией программы. Описание внутри архива.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
QWERTY_BAD
Новичок

Зарегистрирован: 25.12.2012 16:45:28
Сообщений: 129
Оффлайн

Объясните, что я делаю не так, пожалуйста...
По первому пункту всё понятно.. Открыл файлы TYPE_NUMB.sql и TYPE_STR.sql, нажал F5.
Дальше открыл USRF_GEOGRAFY_GET_STR и идут ошибки такого типа:

Error(18,21): PLS-00201: идентификатор 'AGNADDRESSES' должен быть объявлен
Error(19,21): PLS-00201: идентификатор 'GEOGRAFY.GEOGRNAME' должен быть объявлен
Error(20,21): PLS-00201: идентификатор 'GEOGRAFY.CODE' должен быть объявлен

и т.д..
[Email]
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

Мда...

Система не видит, как будто бы таблиц: Адреса контрагентов и Географические понятия.

Давайте по порядку проверять что и как:

1)Эти таблицы должны быть созданы в контексте пользователя parus
2)На эти таблицы должны быть созданы публичные синонимы
3)Запрос на создание функции должен выполняться пользователем Parus (ну не только парусом можно, но железный вариант - выполнение под Parus).

При соблюдении этих правил всё будет хорошо.

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
SARGEANT
Опытный пользователь

Зарегистрирован: 01.02.2013 14:12:25
Сообщений: 1981
Оффлайн

1) публичные синонимы вовсе не нужны

2) да, очевидно гоняют ваши скрипты под пользователем SYS. Надо гонять под пользователем, под которым парусная схема. Что значит "не только под парусом можно"?

вариантов нет. Можно ТОЛЬКО под пользователем, под которым парусная схема. То есть обычно это пользователь PARUS

Если не PARUS, то, как минимум, новые объекты создаст не в парусной схеме. Полученная каша работать не будет, и всё.

Поэтому PARUS - это не "железный", а единственный вариант

Это сообщение было изменено 1 раз. Последнее изменение было в 13.11.2015 13:16:40

AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

А с указанием parus.object_name разве не пройдет?

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
SARGEANT
Опытный пользователь

Зарегистрирован: 01.02.2013 14:12:25
Сообщений: 1981
Оффлайн

1) пойдет, если так и прописано в скриптах. А там разве прописано "parus.", при каждом создаваемом объекте?

2) А если прописать "parus." в скриптах, то они не годятся когда парусная схема не parus. Поэтому "parus." прописывать, мягко говоря, не принято

Поэтому вернулись туда где были - только под PARUS
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

Всё именно так, дорогой коллега!

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
SKIV
Пользователь

Зарегистрирован: 07.11.2012 13:17:29
Сообщений: 634
Оффлайн

В курсоре chgDPensCurs в case дублируются блоки when
[Email]
AAP
Пользователь
[Avatar]

Зарегистрирован: 06.11.2012 09:51:12
Сообщений: 476
От: Александр Плеханов
Оффлайн

Коллеги, всё может быть. Т.к. я Парусом не занимаюсь ныне, к сожалению, то можете сами вносить изменения в данный отчет, и выкладывать здесь. Можете просто скинуть мне на почту архив с релизом и я его залью, только в коде ставьте пометку с идентификатором редактора.
Я сам, конечно, может быть, и доберусь до редакции с учетом всех пожеланий, но не скоро и скорее случайно, нежели намеренно.
Всем добра!

clnpspfm.endeng = to_date('10.09.2015', 'dd.mm.yyyy')
[Email]
 
Индекс форума » Народная инициатива
Перейти: