К основному контенту

Сообщения

Сообщения за 2015

Как в СКД убрать заголовок "Итого" ?

Вводная Волшебный форум::Как в СКД убрать заголовок "Итого" ? дело в том что у меня вертикальных группировок нет, и СКД выводит сразу же по вертикали:  | Итого | |Поле1|Поле2|Поле3|Поле4|Поле5| дак вот, как убрать итого? Последний пост в ветке, за 2009 год к слову, по теме. Проблема выглядит так (группировка строк без колонок): Решается так (переносим необходимые ресурсы в колонку без группировки <Детальные записи>)  профит! (злосчастного Итого нет) UPD После проделанного, пропадает итог по строкам, те Лекарство, добавляем ещё одну строку в группировку Таблица\Строки - <Детальные записи>. Устанавливаем настройку "Расположение итогов" - Начало. профит-2!

Запросы. Объеденяем периоды действия

Прошлая задача с периодами обрела новую форму (и да, задача по прежнему упрощена - периоды в днях) Нужно таблицу вида Дата Начала  Дата Окончания 01.01.2015    11.01.2015 17.01.2015    18.01.2015 19.01.2015    20.01.2015 21.01.2015    22.01.2015 28.01.2015    28.01.2015 привести к таблице вида Дата Начала Дата Окончания 01.01.2015    11.01.2015 17.01.2015    22.01.2015 28.01.2015    28.01.2015 Пришел к следующему решению, используя ранее накопленные знания - Период по дням - Собираем периоды действия PROFIT!

Запросы.РАЗНОСТЬДАТ(СЕКУНДА) и MS SQL. Ошибка HResult 80040E57

Столкнулся сегодня с ошибкой выполнения запроса в котором применяется функция РАЗНОСТЬДАТ(Дата1,Дата2,СЕКУНДА). Ошибка воспроизводится в Клиент-Серверном варианте, где в качестве СУБД семейства MS SQL Server HResult 80040E57 "difference of two datetime columns caused overflow at runtime" Причина в ограничении использования DateDiff (результат перевода Языка запросов 1С в T-SQL) DATEDIFF produces an error if the result is out of range for integer values. For milliseconds, the maximum number is 24 days, 20 hours, 31 minutes and 23.647 seconds . For seconds, the maximum number is 68 years. https://msdn.microsoft.com/ UPD: ошибка справедлива и для файлового варианта информационной базы. UPD 2: ошибка справедлива и для Вычисляемых полей СКД Суть решения - проверить разность дат, и если разность дат больше 68 лет - рассчитать число секунд "в ручную". Количество секунд от первых суток периода + количество "полных" дней в пери

Запрос. Собираем периоды действия.

Да задача изначальна упрощена - меня интересуют непрерывные периоды действия в днях. Превращаем таблицу вида Дата 01.01.2015 02.01.2015 04.01.2015 05.01.2015 06.01.2015 12.01.2015 в таблицу ДатаНачала ДатаОкончания 01.01.2015 02.01.2015 04.01.2015 06.01.2015 12.01.2015 12.01.2015 Главная хитрость/идея: сравнить разность дат (получаем все возможные периоды для исходного множества) границ периода и количества вхождений дат (элементов множества) в этот период КОЛИЧЕСТВО ( НАЧАЛОПЕРИОДА ( втДаты . Дата , ДЕНЬ ) ) - 1 = РАЗНОСТЬДАТ ( втВариации . ДатаНачала , втВариации . ДатаОкончания , ДЕНЬ )   Собственно текст запроса под катом

БСП. Внешние отчеты и обработки

Обязательный метод модуля объекта отчета/обработки //ПОДГОТОВКА РЕГИСТРАЦИИ ГЛОБАЛЬНОГО ОТЧЕТА Функция СведенияОВнешнейОбработке ( ) Экспорт ПараметрыРегистрации = Новый Структура ; ПараметрыРегистрации . Вставить ( "Вид" , "ДополнительныйОтчет" ) ; //Варианты: "ДополнительнаяОбработка", "ДополнительныйОтчет", "ЗаполнениеОбъекта", "Отчет", "ПечатнаяФорма", "СозданиеСвязанныхОбъектов" ПараметрыРегистрации . Вставить ( "Наименование" , "<Наименование элемента Справочника дополнительных обработок>" ) ; ПараметрыРегистрации . Вставить ( "Версия" , "<Номер версии обработки>" ) ; //"1.0" ПараметрыРегистрации . Вставить ( "БезопасныйРежим" , Истина ) ; //Варианты: Истина, Ложь ПараметрыРегистрации . Вставить ( "Информация" , "<Краткое описание отчета>" ) ; ТаблицаКоманд = ПолучитьТабли