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