gifts2017

Движения документа для ЗиК (7.7)

Опубликовал Natalia Vasilchenko (Natalia) в раздел Отчеты - Бухгалтерские

"Расширенный очет" по движениям документа для ЗиК.
Показывает не только записи, принадлежащие документу, но и записи, для которых документ является родительским - такие записи выделяются цветом и для них дополнительно отображается документ, которому они принадлежат.
Делает расчеты в ЗиК значительно прозрачнее.

"Расширенный очет" по движениям документа для ЗИК.

Делает расчеты в ЗиК значительно прозрачнее.

Показывает не только записи, принадлежащие документу, но и записи, для которых документ является родительским - такие записи выделяются цветом и для них дополнительно отображается документ, которому они принадлежат.

На картинке - движения документа БольничныйЛист, вытеснившего записи документа НачислениеОтпуска по периоду действия. (До сих пор непонятно, как это удобно увидеть типовыми средствами, кроме визуального просмотра журнала расчетов).

Дополнительно - доработана стандартная кнопка "Обновить" (странно, что в стандартном отчете механизмы РасшифровкаОбновить и секция Кнопки есть, а самой кнопки - нет) и расшифровки отчета (в стандартном - по клику на любой области отчета открывается карточка сотрудника, в моем - в строках с движениями - открывается нужный журнал расчетов, спозиционированный на нужной записи).

Из минусов - выполняется, конечно, медленнее стандартного, т.к. для отбора записей по родительскому документу "быстрых методов" нет. Поэтому в общем случае - простым запросом; в немонопольном режиме - DBF или SQL - прямым SQL-запросом к нужным журналам расчетов. Установки дополнительных компонент не требуется - используется ADO.Connection. 

Встраивается в любую конфигурацию на базе компоненты "Расчет". У себя я просто заменила стандартный отчет доработанным. Если смущает разница в скорости - можно в меню кнопки "Действия..." добавить еще один пунктик.

Кроме того, в глобальном модуле добавить в ОбработкаЯчейкиТаблицы() что-то вроде такого:

 

ИначеЕсли ТипЗначенияСтр(Расшифровка) = "ЗаписьЖурналаРасчетов" Тогда
  Для Сч = 1 по Метаданные.ЖурналРасчетов() Цикл
        ИД = Метаданные.ЖурналРасчетов(Сч).Идентификатор;
        ЖР = СоздатьОбъект("ЖурналРасчетов."+ИД);
     
       Если ЖР.НайтиЗапись(Расшифровка) = 1 Тогда
            Если ЗначениеВСтрокуВнутр(ЖР.ТекущаяЗапись()) = ЗначениеВСтрокуВнутр(Расшифровка) Тогда
                 ФлагОбработки = 0;
                 Конт = "";
                 ОткрытьФорму("ЖурналРасчетов."+ИД, Конт);
                 Если ТипЗначенияСтр(Конт) = "ГрупповойКонтекст" Тогда
                     Конт.УстановитьПредставление(1, );
                     ДатаНач = Мин(Конт.ГраницаПросмотра().ДатаНачала, ЖР.НачалоПериодаПоДате(Расшифровка.ДатаНачала));
                     ПериодПросмотра = ЖР.ПериодПоДате(ДатаНач);
                     Конт.ГраницаПросмотра(ПериодПросмотра);
                     Конт.АктивизироватьОбъект(Расшифровка);
                КонецЕсли;
                Возврат;
           КонецЕсли;    
      КонецЕсли;
  КонецЦикла; 
 Иначе


 


26.06.2010  Добавлена возможность видеть как просто движения (как в стандартном отчете), так и движения документа детально.

Скачать файлы

Наименование Файл Версия Размер
ДвиженияДокументаЗИК.ert 107
.ert 53,00Kb
26.06.10
107
.ert 53,00Kb Скачать

См. также

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

Комментарии

1. Александр Рытов (Арчибальд) 02.05.10 09:05
Вообще-то я против того, чтобы править глобальный модуль. Зато приятно видеть внятное описание.
2. Natalia Vasilchenko (Natalia) 02.05.10 13:53
(1) Если совсем не хочется глобальный модуль править - то можно переделать ДвиженияДокумента так, чтобы был в режиме "Использовать диалоговую таблицу" (не в режиме ввода, а а обычную) и во все окно. И сделать "обработку ячейки таблицы" прямо в отчете.
Хотя этот кусочек глобального модуля - настолько полезный.....
У меня к типовой процедуре добавлено еще

ИначеЕсли ТипЗначенияСтр(Расшифровка) = "ТаблицаЗначений" Тогда
ПечатьТЗ(Расшифровка);
ИначеЕсли ТипЗначенияСтр(Расшифровка) = "ЗаписьЖурналаРасчетов" Тогда
.......................

ПечатьТЗ() - см в моих разработках )))

И простые "рабочие отчеты", в которых можно вывести нужную информацию с расшифровками, позволяющими "выйти" по клику на нужную запись расчетов - пишутся очень быстро -
1) Написать нужный запрос
2) Собрать в нужном виде в таблицу значений
3) ПечатьТЗ()

Но у меня нет причин "не править глобальный модуль" - от типовой совсем далеко, не буду вдаваться в причины. Хотя и типовую можно просто обновлять не типовыми средствами - тогда правка глобального модуля - не проблема.
10. Natalia Vasilchenko (Natalia) 20.05.10 13:17
Исправлена ошибка порядка сортировки списка сотрудников, проявлявшаяся в случаях, когда один и тот же документ формировал движения как по основному сотруднику, так и по внутреннему совместителю (движения "вперемешку").
11. rjhev korum (корум) 25.06.10 13:38
СекцияРасчет.ВидРасчета = ПредставлениеВР<<?>>(ТекущаяЗапись.ВидРасч);
{C:\путь_к_базе\EXTFORMS\ДВИЖЕНИЯДОКУМЕНТАЗИК.ERT(302)}: Функция не обнаружена (ПредставлениеВР)
СекцияРеквизит.Элемент = ПредставлениеВР<<?>>(ЭлементСправочника.Расчет);
{C:\путь_к_базе\EXTFORMS\ДВИЖЕНИЯДОКУМЕНТАЗИК.ERT(373)}: Функция не обнаружена (ПредставлениеВР)

Комплексная конфигурация, 497 релиз.
12. Natalia Vasilchenko (Natalia) 26.06.10 22:50
(12) исправила оставшееся от белорусского ЗиК ПредставлениеВР() на стандартное для российского ГлПредставлениеВидаРасчета(). Если в комплексной (нет сейчас под рукой) как-то иначе называется - нужно переименовать.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа