Отчет по движениям и остаткам регистров

  • Автор темы Hryv
  • Дата начала
H

Hryv

Гость
#1
Готова новая версия 2.1

Основные отличия:
1. Теперь можно смотреть не только движения, но и остатки
2. Улучшено форматирование печатаемых данных
3. Для установки фильтра не обязательно печатать этот столбец

Буду благодарен всем, кто найдет ошибки :(


ПС: просьба к админам не перемещать тему в Разработки форумчан
там уже есть
http://codeby.net/forum/threads/33731s0.html?...mp;#entry160306
 

vbs

Well-Known Member
18.02.2007
1 708
3
#2
Улучшение существенно, но раз уж сам написал :
Буду благодарен всем, кто найдет ошибки
терпи. :)

1. ПериодПеч и ЗагПеч надо описать в голове - иначе при выводе (процедура "ВывестиСекцию") они не определены (к тому же, в секции "Рек" свойства соответствующих ячеек надо бы заменить на "выражение")
2. При проверке на ТиС 9.54 (Регистр "ОстаткиТМЦ") то и дело вылезает ошибка
"Номер за пределами значения" в строках 441, 449, 465 (ТЗ.ПолучитьЗначение...).
На мой взгляд, вообще нет необходимости вызывать ПолучитьСтроку перед ПолучитьЗначение,
гораздо существеннее проверять, МОЖНО ли ПолучитьЗначение. Подробнее не разбирался - автору виднее
3. Нет контроля на дупликацию группировок, к тому же, при установке Гр2 в "нет" (Гр1 и Гр3 установлены) -
ошибка при вызове функции СоздатьТаблицуГР
это, конечно, только ради защиты от дурака, но все же...

Теперь пожелания :
1. Переключатель фДвижОст стоит перенести в слой "Основной"
2. Раз уж Обновить Таблицу необходимо вызывать после изменения этого переключателя, резонно делать
при этом кнопку "Печать" недоступной, и активизировать ее после обновления
3. Удобно бы сделать групповую пометку ТЗИ
4. Секцию "Док", возможно, есть смысл разбить на две, ибо колонка "Док" нужна не всегда - управлять можно
флажком типа "показать документы движения"

Так что хорошую обработку можно превратить в ОТЛИЧНУЮ.

На критику не обижайся, все мы грешны. :(
Я, собственно, так подробно покопался, что процесс меня увлек - вещь-то очень полезная
 
H

Hryv

Гость
#3
1. ПериодПеч и ЗагПеч надо описать в голове - иначе при выводе (процедура "ВывестиСекцию") они не определены (к тому же, в секции "Рек" свойства соответствующих ячеек надо бы заменить на "выражение")
Заметил сам и исправил, просто не выкладывал еще

1. Переключатель фДвижОст стоит перенести в слой "Основной"
Спасибо, тоже исправлено

2. При проверке на ТиС 9.54 (Регистр "ОстаткиТМЦ") то и дело вылезает ошибка
"Номер за пределами значения" в строках 441, 449, 465 (ТЗ.ПолучитьЗначение...).
На мой взгляд, вообще нет необходимости вызывать ПолучитьСтроку перед ПолучитьЗначение,
гораздо существеннее проверять, МОЖНО ли ПолучитьЗначение. Подробнее не разбирался - автору виднее
Пока до конца не понял в чем суть, но обязательно разберусь

3. Нет контроля на дупликацию группировок, к тому же, при установке Гр2 в "нет" (Гр1 и Гр3 установлены) -
ошибка при вызове функции СоздатьТаблицуГР
это, конечно, только ради защиты от дурака, но все же...

3. Удобно бы сделать групповую пометку ТЗИ
4. Секцию "Док", возможно, есть смысл разбить на две, ибо колонка "Док" нужна не всегда - управлять можно
флажком типа "показать документы движения"
будет в очередных версиях
про группировки я и сам знал, но руки еще не дошли

2. Раз уж Обновить Таблицу необходимо вызывать после изменения этого переключателя, резонно делать
при этом кнопку "Печать" недоступной, и активизировать ее после обновления
Обновлять таблицу надо почти после любого изменения на форме, поэтому это делается по кнопке и перед печатью
Я считаю так нормально
Единственно, что если нажать обе кнопки подряд, то второй вызов лишний, но имхо - это мелочи
Если в этом направлении и буду что-то менять, то в последнюю очередь
 
H

Hryv

Гость
#4
Также планируется сделать возможность настраивать очередность столбцов при выводе на печать
 

vbs

Well-Known Member
18.02.2007
1 708
3
#5
Это замечательно, но прежде все же надо побороться с ошибкой

"Номер за пределами значения"
В сегодняшней версии, она, увы, все еще жива
 
H

Hryv

Гость
#6
на выходных попробую подправить
сейчас времени совсем нет
 

vbs

Well-Known Member
18.02.2007
1 708
3
#7
на выходных попробую подправить
сейчас времени совсем нет
"-Сначала работа, а потом развлечение, - сказал робот, закончив решать систему сингулярных уравнений и приступив
к пересчитыванию запятых в Большой Британской Энциклопедии"
Анекдот из 1960-хх ;)
 
H

Hryv

Гость
#8
Это замечательно, но прежде все же надо побороться с ошибкой

"Номер за пределами значения"
В сегодняшней версии, она, увы, все еще жива
Неожиданно время появилось
А можно скрин отчета с какими параметрами эти ошибки появляются?
 
H

Hryv

Гость
#10
Странно, я никак у себя такую ошибку не могу создать

А что содержит столбец СКЛАД в на второй закладке? Нормально заполняется?
 

vbs

Well-Known Member
18.02.2007
1 708
3
#11
Как я и предполагал, то и дело не отрабатывает ПолучитьСтроку(), когда строки в таблице заканчиваются.
Следовательно, НомерСтроки в этом месте равен 0 - отсюда и ошибка.
Так что, ТЗ.ПолучитьЗначение надо делать только после проверки на ПолучитьСтроку() = 1

И еще пожелание в Приходе-Расходе сделать сортировку таблицы по дате
 
H

Hryv

Гость
#12
Как я и предполагал, то и дело не отрабатывает ПолучитьСтроку(), когда строки в таблице заканчиваются.
Следовательно, НомерСтроки в этом месте равен 0 - отсюда и ошибка.
Так что, ТЗ.ПолучитьЗначение надо делать только после проверки на ПолучитьСтроку() = 1
Я это изначально подозревал, но проблема в том, что по алгоритму такого не должно случаться
Проверку поставить не сложно, но непонятно что делать, когда это происходит
Сейчас попробую что-нибудь придумать


Добавлено: Дошло!

Видимо, на каком-то из складов нет такой номенклатуры
Сейчас проверю
Если подтвердится, то буду думать как решить

Добавлено: Не подтвердилось

Вопрос ко всем: если в ТЗ в одном из столбцов есть пустые значения, то после свертки ведь все равно будет строка с пустым значением?

Добавлено: Раз так происходит, значит это возможно
Но я даже в теории не могу смоделировать ситуацию, чтобы строки в ТЗ3 кончились раньше времени
 

vbs

Well-Known Member
18.02.2007
1 708
3
#13
Но я даже в теории не могу смоделировать ситуацию, чтобы строки в ТЗ3 кончились раньше времени
Но тем не менее, то и дело это происходит, причем эффект обнаруживается не всегда и только при группировке по Номенклатуре :*цензура*you:
 
H

Hryv

Гость
#14
Сделаю версию с отладочными логами
Логи посмотрю, тогда может что-то пойму
 
H

Hryv

Гость
#16
А сколько весит?
Если в пределах 20 мег, то можно
 
H

Hryv

Гость
#17
Ошибку выяснил: есть элементы номенклатуры с одинаковым наименованием

Задал явно тип всех колонок ТЗ, но это не помогло
1С все равно соритрует их вперемешку

Сегодня уже не исправлю
Завтра может поборю
 
H

Hryv

Гость
#18
Выкладываю свежую версию

Основные отличия касаются печатной формы
Ошибка группировки не решена, но обработана исключением

Ближайшие планы по усовершенствованию отчета

1. Решение проблемы группировки
2. Выбор очередности вывода столбцов
3. Групповая отметка в таблицах измерений и ресурсов
 

vbs

Well-Known Member
18.02.2007
1 708
3
#19
Ошибка группировки не решена, но обработана исключением
Все же на правильность работы сортировка влияет существенно


Добавлено: Вот такого рода каша получается.

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

Вложения

  • 825 байт Просмотры: 17
  • 825 байт Просмотры: 15
H

Hryv

Гость
#20
vbs, каша получается и в той базе, что ты давал
Добавление кода к наименованию решит проблему, но не на все случаи жизни
Я попробую сделать еще лучше, правда надо время