Описание обработки "Консоль отчетов" с СКД и не только...

07.11.08

Разработка - Работа с интерфейсом

Данный блог является прямым продолжением и развитием проекта http://infostart.ru/profile/15778/projects/2795/ и попыткой создания руководства по консоли отчетов с применением системы компоновки данных
ВСТУПЛЕНИЕ:

Проект имеет низкую популярность, причем мало качают обработку! Предпологаю что коллеги не знают как и где ее применить (или у каждого имеется уже такая собственная))))). Порылся в интернете и не нашел нормального описания "Консоли отчетов" с применением системы компоновки данных (далее СКД) и решил описать то что знаю с примерами реализаций задач. Данное описание будет дополнятся и дорабатываться в этом блоге. Описание можно использовать просто как пособие по СКД, в этом случае исчите главы со словом "ОПИСАНИЕ".
Так как разбирался я со всем сам и зачастую методом научного тыка, то прошу строго не судить, а попровлять ошибки или дополнять описание комментариями (дельные комментарии буду плюсовать и включать в описание). По всем вопросам непонятным Вам в СКД пишите здесь или в личку (если вдруг кто стесняется).

НАЧНЕМ С КОНЦА:
Для того чтобы понять где применить обработку из проекта необходимо знать что умеет СКД и как это реализовать, но так как мне длизко по духу решение практических задач и если я сейчас начну рассказывать теорию то половина останется непонятым или забытым, поэтому хочу разобрать несколько практических примеров, а потом расскажу о прелестях СКД.

ПРИМЕР 1:

Наверно все знают универсальные типовые обработки такие как "Групповая обработка справочников и документов" (входящая в состав конфигураций) и "Универсальный подбор и обработка объектов" которая есть на диске ИТС. Часто я мечтал их объеденить, так как последняя имеет большой функционал по обработке объектов но умеет выбирать только по одному виду объектов. Остальные обработки не будем рассмаривать, скажу только одно, ни одна не подошла мне полностью каято чегото не умеет.
Условие задания:
Мы заметили ошибку в проведении документа(ов) из за которой неверно делались движения регистра например в ЗУП "ВзаиморасчетыСРаботникамиОРганизаций"
***
!!! Замечание: Несложно взять любой другой регистр влюбой конфигурации, это замечание будет относится и для всех примеров, примеры прозрачные и могут относится к любой конфигурации.
***
и исправили ее. Отлично, но теперь нам надо перепровести все документы (или за период) связанные с этим регистром. В этом и будет заключаться наша простая задача.

Вариантов несколько:
1. Использовать универсальные обработки.
Но в первой обработе придется руками отмечать самим все документы у которых есть движения по этому регистру что не совсем удобно потому что по нашему регистру их 24 и все на память не упомнишь. Во второй вообще заколебешься перебирать по одному документы. Вот и получается, что универсальные обработки не совсем уж и универсальные и это еще самый простой пример из практики.
2. Написать обработку самому. На самом деле написать такую обработку не сложно, но связано с ошибками (результат выборки мы можем посмотреть только в отладчике и не в очень уобной форме). Ко всему прочему обычно я такие обработки относил в папку Temp и удалял. Как иногда обидно что помнишь что когда то писал обработку, но написать заново легче чем найти.
3. Попробуем использовать обработку из проекта. В ней требуется написать запрос который делается в конструкторе за 3 секунды если не писать условий если писать чуть больше:
ВЫБРАТЬ
ВзаиморасчетыСРаботникамиОрганизаций.Регистратор
ИЗ
РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
ГДЕ
ВзаиморасчетыСРаботникамиОрганизаций.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)

И написать код по перепроведению объектов, но над этим придется потрудится ))))):
Для каждого СтрокаДерева Из ДеревоОбъектов Цикл
СтрокаДерева.Регистратор.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;

где: ДеревоОбъектов - итог работы СКД (обрабатываемое нами дерево), Регистратор - наименование поля полученного нами дерева в данном случае документа регистратора. Далее получаем объект и записываем его с проведением.

Надоела уже эта практика отвлечемся на теорию ))))
Некоторые скажут насчет примера выше: "В каком конструкторе, да там в ентих конструкторАх черт ногу сломит". И будут несовсем правы все там сделано для нас программистов, потому что иногда так приходится изёживаться чтобы собрать необходимый набор данных что и этого функционала может не хватить.

ОПИСАНИЕ: Закладка "Наборы данных"

На закладке присутствует окошко с деревом наших наборов данных и две кнопочки над ним: 1) "Добавить набор данных" - добавляет один из наборов данных
-"Запрос" - уже знакомый многим запрос с конструктором и всеми сопутствующими делами. Конструктор запроса можно вызвать кнопкой "Конструктор запроса..." находящейся справа над полем "Запрос", которое заполняется текстом запроса если выделенный в левом окошечке набор даннх является запросом (!!! Замечание: Если при нажати на кнопку "Конструктор запроса..." в окошке "Запрос" выделена определенная область, то конструктор пытается отрыть именно эту область, применяется если необходимо открыть и отредактировать например только вложенный запрос).
-"Объект" - при использовании данного набора данных нам придется написать имя внешнего набора данных переданных например через ПроцессорКомпоновкиДанных.Инициализировать(, , , ) придется описать и все реквизиты передаваемые во внешних данных и используемые в СКД.
-"Объединение" - название говорит само за себя: данный вид позволяет объединять несколько наборов данных "запрос" и/или несколько надоров данных "объект" в один набор данных.
2) "Удалить текущий" - удаляет текущий набор данных

НЮАНСЫ И ТОНКОСТИ при работе с Консолью отчетов, СКД, запросами

- Если Вы рассчитываете выражение и при каких либо условиях одно из составляющих окажется NULL (Реквизит1 - Реквизит2, например если Реквизит2 = NULL) то в результате расчета Вы получите так же NULL. Необходимо учитывать такие ситуации и например применять конструкцию ЕСТЬNULL(Реквизит2, 0). ПРОДОЛЖЕНИЕ СЛЕДУЕТ...

P.S. Времени не фонтан так что извините что не все сразу...

См. также

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    63462    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    19301    27    6    

42

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    10598    7    7    

11

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    19490    mrXoxot    44    

126

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    9187    smielka    37    

103

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    17216    1191    elcoan    50    

123

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    12311    166    acces969    31    

124
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rasswet 82 24.11.08 12:57 Сейчас в теме
2. coder1cv8 3477 24.11.08 13:40 Сейчас в теме
3. WiseSnake 1521 24.11.08 13:53 Сейчас в теме
(1)(2) Извините что задерживаю продолжение, тут проект доделываю... времени очень мало. Продолжение будет скоро. Может на следующей неделе.
4. kurator1C 24.02.09 09:57 Сейчас в теме
Желающим изучить СКД рекомендую книжку:
http://v8.1c.ru/metod/books/book.jsp?id=132
любители холявы могут найти её здесь
http://forum.ru-board.com/topic.cgi?forum=93&topic=0259&start=0&limit=1&m=1#1

называется "Разработка сложных отчетов в 1С-Предприятии 8 (система компоновки данных) (Хрусталева, 2008)".
Кижка хорошая, за два вечера СКД становится ясной и понятной.
Однако...

В данной книге мало уделенно внимание работе с СКД средствами встроенного языка, хотя для толчка примеры есть.
Evg-Lylyk; +1 Ответить
6. WiseSnake 1521 25.02.09 11:44 Сейчас в теме
(4) Изучил эту книжку. Книжка хорошая но не вряд ли стоит выкладывать прямые ссылки. В СКД еще много мелочей которые надо знать.
(5) Это не в этой ветке. У Вас нет библиотеки картинок. Я устанавливаю картинки на кнопки. Спасибо! Учту этот момент.
5. kurator1C 24.02.09 11:29 Сейчас в теме
Ошибки при открытии:

1. {Форма.Форма(1309)}: Поле объекта не обнаружено (ЕстьОповещение)
КнопкаЗамер.Картинка = БиблиотекаКартинок.ЕстьОповещение;
2.{Форма.Форма(1314)}: Поле объекта не обнаружено (Настройка)
КнопкаНастроек.Картинка = БиблиотекаКартинок.Настройка;

Закоментировал эти строки (позже разберусь) - обработка открылась, сформировал отчет... Не понял как написать обработку выведенных данных :)

Полез изучать код, мож тада пойму...
7. ZhakeKZ 04.05.17 11:13 Сейчас в теме
Здравствуйте,

Есть подробная инструкция как использовать Консоль СКД, который сейчас есть в ИТС ?
Я на диске ИТС нашел для управляемого, а мне нужен для обычного.
8. WiseSnake 1521 05.05.17 11:39 Сейчас в теме
(7) Консоль для меня уже не актуальна. Я пользуюсь другими разработками. Я думаю выкладывать свою разработку, но она будет немножко платная.
9. Sinsinmin 24.05.17 09:26 Сейчас в теме
(7) Пользуюсь Инструментом разработчика с сайта. http://devtool1c.ucoz.ru/. Правда придётся подразобраться)))) но очень удобно в итоге.

(8) Привет Алексей))
10. ZhakeKZ 24.05.17 10:20 Сейчас в теме
Я понял в чем была проблема, теперь умею пользоваться стандартным консолем СКД из ИТС.
Оставьте свое сообщение