Способ объединения табличных документов 1с при обновлении релиза

Содержание
  1. Особенности сравнения и объединения конфигураций в режиме обновления
  2. Сопоставление объектов при сравнении конфигураций
  3. Правила сопоставления объектов
  4. Влияние сопоставления объектов на скорость сравнения конфигураций
  5. Замечания по методике использования механизма
  6. Удаление объектов поставщика
  7. Удаление пользователем
  8. Удаление поставщиком
  9. Вывод различных табличных документов в один («склеивание» печатных форм)
  10. Скачать файлы
  11. Специальные предложения
  12. См. также
  13. Просмотр и анализ структуры базы данных (отчет на СКД)
  14. Анализ объектов метаданных
  15. Шаблон отчета, обычное приложение. Отображает на форме: параметры, отбор, варианты настроек, загрузку элементов отбора из файла
  16. Шаблон отчета СКД (обычные формы)
  17. Улучшенный шаблон отчёта СКД ОФ (обычные формы), подобный стандартной управляемой форме отчёта
  18. Отчет по подпискам на события
  19. Объединение нескольких печатных форм в один табличный документ
  20. Зачем это нужно, где это может пригодиться
  21. Суть решения
  22. Скачать файлы
  23. Специальные предложения
  24. См. также
  25. Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула Промо

Особенности сравнения и объединения конфигураций в режиме обновления


Сопоставление объектов при сравнении конфигураций


Правила сопоставления объектов

Для сопоставления объектов при объединении конфигурации в 1С:Предприятии 8 используются свойство «Имя» объекта метаданных и его внутренний идентификатор. Однако в различных вариантах сравнения алгоритм сопоставления объектов разный. Прежде чем подробно описать различные варианты, сначала опишем правила изменения внутреннего идентификатора. Идентификатор в пределах одной конфигурации никогда не изменяется. Идентификатор не изменяется при выгрузке конфигурации в cf или dt файлы (включая файлы поставки cf и обновления cfu ). Идентификатор не изменяется при использовании механизма групповой разработки (в процессе перемещений между конфигурацией и хранилищем). Идентификатор всегда изменяется при копировании объекта, в том числе в процессе объединения конфигураций. Поясним на примере. Создаем новую конфигурацию. Выполняем команду » Конфигурация — Сравнить, объединить с конфигурацией из файла. «. Программа обнаружит что текущая конфигурация пустая и предложит выполнить полную загрузку (аналогично команде » Конфигурация — Загрузить конфигурацию из файла «). Если согласится на предложенный вариант, то в результате все объекты сохранят свои идентификаторы. Если же отказаться и выполнить обычное объединение, то все объекты идентификаторы поменяют, хотя логически получатся две одинаковые конфигурации.

Теперь рассмотрим алгоритмы сопоставления объектов. Существуют три варианта.

  1. Сравнение произвольных конфигураций. Выполняется сопоставление по имени объекта. Если для каких-то объектов пару найти не удалось, выполняется сопоставление по идентификатору.
  2. Сравнение родственных конфигураций. Имеются ввиду конфигурации, про которые можно точно утверждать, что они являются различными версиями одной и той же конфигурации (примеры — сравнение основной конфигурации с конфигурацией базы данных или с конфигурацией хранилища). Выполняется сопоставление только по идентификатору объекта. Имя объекта не используется.
  3. Сравнение с конфигурацией поставщика. Выполняется сопоставление по идентификаторам, но при этом идентификаторы не обязательно должны быть одинаковы.

Третий вариант мы рассмотрим отдельно, но сначала некоторые уточнения про первые два. Сравнение конфигураций можно вызвать из различных режимов. Например, используя команды » Конфигурация — Сравнить, объединить с конфигурацией из файла. «, » Конфигурация — Конфигурация базы данных — Сравнить, объединить с конфигурацией базы данных «, из диалога настройки поддержки, и так далее. Во всех этих случаях вариант сопоставления выбирается автоматически. Есть также команда универсального сравнения конфигураций «Конфигурация — Сравнить конфигурации. «. Где можно выбрать любую пару (например конфигурацию базы данных с некоторой версией из хранилища конфигураций). В случае если будет указана пара конфигураций, связь между которыми известна, вариант сопоставления так же будет выбран автоматически. В противном случае, будет доступен флажок «Устанавливать соответствия по именам объектов», который позволяет в явном виде выбрать один из двух алгоритмов.

Уточнение: автоматический выбор будет сделан не только при условии выбора известной пары, но и при правильном порядке, когда первой указывается основная конфигурация. Этим можно воспользоваться для того, чтобы изменить алгоритм сопоставления для известной пары конфигураций, достаточно их поменять местами.

Теперь рассмотрим вариант сравнения с конфигурацией поставщика. Его особенность связана с наличием двух вариантов поддержки — с включенной возможностью изменений и без. Во втором случае обновление выполняется путем загрузки новой версии конфигурации поставщика, то есть, как было описано выше, идентификаторы объектов при этом не изменяются. В первом случае используется управляемое объединение конфигураций, и при этом новые объекты получают новые идентификаторы. Вместе с тем, сопоставлять объекты по именам в этом случае нельзя, поскольку изменение пользователем имени не должно приводить к потере связи с объектом поставщика. В связи с этим используется следующая техника. Для каждого объекта поставщика запоминается пара идентификаторов объектов (в конфигурации поставщика и в конфигурации на поддержке). И сопоставление выполняется только по этим парам. Для обеспечения логической целостности поддержки конфигурации единожды созданная пара никогда не изменятся. Если в новой версии поставщика появился новый объект, то пользователь при обновлении может просто его скопировать, а может сопоставить с каким-то своим объектом. Но в дальнейшем эту связь изменить будет нельзя.

Влияние сопоставления объектов на скорость сравнения конфигураций

Сравнение больших конфигураций — процедура достаточно длительная, особенно в режиме обновления конфигурации поставщика, когда производится три сравнения (старой и новой конфигурации поставщика, и конфигурации пользователя с каждой из них). Общее правило можно сформулировать так — сравнение выполняется в оптимизированном режиме (намного быстрее) в случае соблюдения двух условий:

  1. Среди сопоставленных объектов нет пар с различными идентификаторами.
  2. Среди несопоставленных объектов нет возможных пар с одинаковыми идентификаторами.

На основе этих правил можно объяснить разницу в скорости сравнения при обновлении конфигураций. Версии конфигурации поставщика всегда сравниваются максимально быстро, поскольку они получаются из одной и той же конфигурации путем создания файлов поставки и — или обновления и, как было указано выше, идентификаторы объектов остаются неизменными. Скорость сравнения конфигурации пользователя зависит от истории изменений в версиях конфигурации поставщика. После того как пользователь включил возможность изменений, сравнение происходит быстро, поскольку идентификаторы всех сопоставленных объектов одинаковы. Но как только в каком-либо из обновлений поставщик добавит хотя бы один новый объект, после выполнения обновления этот объект получит новый идентификатор, и все последующие сравнения пользовательской конфигурации с конфигурацией поставщика будут выполняться заметно медленнее.

Замечания по методике использования механизма

Часто у специалистов выполняющих внедрение возникает вопрос, как правильно ставить конфигурацию на поддержку: включать возможность изменения в дистрибутивном варианте конфигурации поставщика или свою собственную конфигурацию объединить с этим дистрибутивом с одновременной постановкой на поддержку. Принципиальной разницы нет. Логически результат будет одинаковый, что же касается скорости сравнения при последующих обновлениях, то в первом случае она будет намного выше, но лишь до того момента как поставщик в новой версии добавит хотя бы один новый объект, что, весьма вероятно, произойдет уже в следующей версии. После чего уже никаких отличий в скорости сравнения не будет.

Удаление объектов поставщика

Рассмотрим варианты удаления объекта поставщика.

Удаление пользователем

Для того чтобы удалить объект поставщика, пользователь должен сначала снять с поддержки его и всех ему подчиненных. При последующих обновлениях этот объект не будет помечаться на объединение.

Удаление поставщиком

Начиная с релиза платформы 8.0.7, при выполнении любого объединения конфигураций существует возможность удаления объектов основной конфигурации. По умолчанию эта возможность включена только в режиме обновления конфигурации поставщика. Для включения ее в других режимах следует установить флажок » Разрешить удаление объектов основной конфигурации » в диалоге настройки сравнения и объединения конфигураций.

Расстановка пометок удаления объектов поставщика по умолчанию производится по следующим правилам. Если пользователь изменял объект поставщика по сравнению с предыдущей версией конфигурации поставщика, то объект по умолчанию не помечается на удаление, если объект идентичен объекту поставщика предыдущей версии, то он на удаление помечается. Если объект был помечен на удаление (автоматически или вручную), то при нажатии кнопки «Выполнить» происходит контроль ссылочной целостности. При обнаружении неразрешимых ссылок на удаляемый объект, будет выдано окно показа таких ссылок но, в отличии от неразрешимых ссылок, образующихся в результате отказа от копирования какого либо объекта конфигурации поставщика (или любой другой конфигурации, участвующей в объединении), возможности продолжить объединение (и удаление объекта) в этом случае нет.

Источник

Вывод различных табличных документов в один («склеивание» печатных форм)

Понадобилось доработать печать нескольких документов одной портянкой.

Можно было доработать все печатные формы под один стандарт и вывести последовательно, но это будет требоваться постоянно при разработке новой печатной формы.

Поэтому решил объединить печать форм с различными форм факторами.

Для красивой печати необходимо соблюдение условий

  1. все печатные формы должны быть примерно одной ширины
  2. после вывода всех печатных форм необходимо выставить область печати

Ниже приложена обработка, с помощью которой можно сформировать образец «склеенных» печатных форм.

В ней же код, легко переносимый между любыми конфигурациями, позволяющий быстро адаптировать доработку под свой нужды.

Разработывалось под УФ. Работа на обычных формах не проверялась, но работать должно.

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

Специальные предложения

Обновление 17.01.17 10:35

Код открыт Не указано

См. также

Просмотр и анализ структуры базы данных (отчет на СКД)

Отчет для просмотра и анализа структуры базы данных с поддержкой файловых баз (ограниченный режим), а также баз на SQL Server и PostgreSQL.

24.07.2019 31406 293 YPermitin 28

Анализ объектов метаданных

Простой отчет для анализа структуры объектов метаданных. Работает в любой конфигурации на обычных и управляемых формах. Показывает свойства объектов, сведения о реквизитах и другую информацию об объекте метаданных в наглядном виде.

22.07.2019 4605 4 alex_bob 0

Шаблон отчета, обычное приложение. Отображает на форме: параметры, отбор, варианты настроек, загрузку элементов отбора из файла

Шаблон отчета с формой для обычного приложения. Позволяет отображать на форме: параметры, отбор, варианты настроек, загрузку в левое значение отбора список элементов из файла (проверено на Управление производственным предприятием, редакция 1.3 (1.3.61.2) )

22.04.2019 5249 8 user995537 0

Шаблон отчета СКД (обычные формы)

Шаблон отчета СКД для обычных форм. Для любой конфигурации. Без дополнительных настроек.

21.03.2019 10612 73 Смешной 1С 10

Улучшенный шаблон отчёта СКД ОФ (обычные формы), подобный стандартной управляемой форме отчёта

Вашему вниманию предлагается улучшенный шаблон отчёта СКД, реализованный на обычных формах. Лаконичный и функциональный, весь необходимый минимум для управления отчётом вынесен на форму отчёта, что избавляет рядовых пользователей от необходимости лезть внутрь настроек отчёта. Элементы формы сделаны «резиновыми», что позволяет не дорабатывать форму отчёта, если в нём прибавилось отборов или параметров (пользователь сам при необходимости растянет область отборов или параметров). У пользователя есть возможность скрывать/отображать на форме настройки параметров или отборов. Форма автоматически запоминает состояние отображения параметров и отборов. Имеется возможность сохранять отчёт в файлы распространённых форматов (Excel2007, Excel, PDF, Word2007, ODS, HTML, Текстовый файл). Так же на панель выведена кнопка восстановления стандартных настроек отчёта.

25.02.2019 6938 8 Eugen-S 0

Отчет по подпискам на события

Внешний отчет для разработчика на платформе 1С:Предприятие 8.3. С его помощью вы значительно упростите себе доработку конфигураций! Быстро найдете все подписки, в которые включен объект метаданных, сможете построить отчет в любом разрезе — по объектам, событиям, подпискам, общим модулям, процедурам и т.д.

18.02.2019 11445 59 tomvlad 9

Источник

Объединение нескольких печатных форм в один табличный документ

Зачем это нужно, где это может пригодиться

Собственно, проблема, которая может возникнуть при присоединении одного табличного документа к другому в том, что строки документов изначально могут иметь один формат строк, но при этом разную ширину колонок. При присоединении одного такого документа к другому мы получим одну и туже ширину колонок табличного документа, т.е. документ будет выглядеть не так как вы ожидаете.

Рис.1. Ширина колонок изменилась и логотип сместился вправо.

При каких сценариях это происходит:

  • При объединении нескольких печатных форм в один табличный документ;
  • При дополнении отчета на СКД областью из своего макета.

Суть решения

Все просто — в момент присоединения одного табличного документа к другому мы создаем для него новый формат строк. По сути тоже самое, что происходит при интерактивном редактировании макета, когда вы выделяете строки и изменяете для них ширину столбца.

Рис.2. Табличный документ из двух частей. Создан новый формат строк.

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

В качестве бонуса отчет на СКД с логотипом.

Тестировалось на платформе 8.3.13.1513

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

Наименование Файл Версия Размер

Специальные предложения

Коллеги доброго времени суток, есть функция которая получает сформированные Печатные формы(далее ПФ) у каждого табдока есть параметр «ШиринаТаблицы» для всех сформированных ПФ разный(зависит от макета) и объединяет их в большойТАбДОк.
При попытке вывести на печать наш большойТАбДОк (при условии что для него АвтоМасштаб = Истина) получается что та ПФ которая с меньшим параметром «ШиринаТаблицы» становится нечитаемым(скрин прилагается) . Хотелось узнать можно ли как то решить эту проблему не унифицируя все макеты ПФ?

ПЫСЫ: параметр ШиринаТаблицы недоступен для записи.

Обновление 17.11.18 22:36

См. также

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула Промо

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

29.12.2017 54924 38 agent00mouse 0

Источник

Читайте также:  Способы выражения несогласованных определений наречие примеры
Оцените статью
Разные способы
Наименование Файл Версия Размер