Получить родительские документы 1с

Обновлено: 07.07.2024

Средства работы с двоичными данными

Необходимо просканировать каталог с файлами, выбрать файлы с расширением ".jpg" или ".jpg" и для каждого такого файла собрать информацию об изображении. Если при анализе выяснится, что файл не соответствует формату JPEG, то такой файл следует пропустить.

Информация, которая нас интересует:

  • Ширина изображения в пикселах,
  • Высота изображения в пикселах,
  • Глубина цвета (количество битов на один пиксел).

Краткое описание формата JPEG

Кратко опишем некоторые детали формата, существенные для решения нашей задачи. За более подробным описанием формата JPEG можно обратиться к соответствующим источникам:

Файл JPEG содержит последовательность маркеров , каждый из которых начинается с байта 0xFF, свидетельствующего о начале маркера, и байта-идентификатора. Некоторые маркеры состоят только из этой пары байтов, другие же содержат дополнительные данные, состоящие из двухбайтового поля с длиной информационной части маркера (включая длину этого поля, но за вычетом двух байтов начала маркера, то есть 0xFF и идентификатора) и собственно данных. Такая структура файла позволяет быстро отыскать маркер с необходимыми данными (например, с длиной строки, числом строк и числом цветовых компонентов сжатого изображения).

Решение

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

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

Теперь, когда мы написали основную функцию для анализа JPEG-файла, напишем вспомогательную функцию - ПрочитатьМаркер , которая читает очередной маркер и возвращает информацию о нем:

  • РазмерСекции : размер секции, начало которой отмечает маркер
  • ЭтоОписаниеИзображения : признак того, что секция, отмеченная маркером, содержит нужную нам информацию об изображении.

И, наконец, соберем всё вместе и напишем функцию, которая будет анализировать все файлы в заданной папке и выдавать полученную информацию в виде таблицы.

Вы можете скачать приложенную конфигурацию прямо сейчас

Постановка задачи

Ответ от сервиса будет иметь следующий вид:

В качестве обработчика для метода создаем в модуле сервиса функцию ДляВсех_Get :

Создаем новую общую форму. На форму добавляем реквизиты типа Строка:

Далее добавляем элементы управления:

Создаем обработчик команды:

Вся работа по запросу сервиса и отображению результата выполняется в серверной функции ВыполнитьЗапрос :

Очень часто в 1С 8.3. в справочнике необходимо настроить определенный порядок подчинения элементов. Для реализации подобных задач из простого справочника необходимо сделать иерархический справочник 1С.

В платформе 1С существует два вида иерархии – иерархия групп и элементов и иерархия элементов.

Иерархия групп и элементов

Для того, чтобы справочник имел иерархию групп и элементов, необходимо в редакторе справочника на закладке Иерархия установить флаг Иерархический справочник, а свойству Вид иерархии установить значение Иерархия групп и элементов.

Иерархический справочник 1С

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

Иерархический справочник 1С

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

Группа это тоже экземпляр объекта справочника, по которому не ведется какой-либо учёт (как правило), и который может быть родителем другого экземпляра, т.е. в группу могут входить другие группы и элементы справочников.

Иерархия элементов

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

Иерархический справочник 1С

После этого, каждый элемент может быть родителем другого элемента.

Иерархический справочник 1С

Родитель иерархического справочника 1С

У каждого элемента иерархического справочника должен быть родитель. В случае иерархии групп и элементов родитель это группа иерархического справочника, в случае иерархии элементов, родитель это элемент.

Родитель это стандартный реквизит справочника. Если иерархия отключена, то этот стандартный реквизит не доступен. Как у этого справочника Сотрудники.

Родитель иерархического справочника 1С

А если иерархия включена, то этот реквизит доступен. Как у справочника Контрагенты.

Родитель иерархического справочника 1С

Если форма элемента справочника автоматически генерируется платформой (т.е. она не создана), то этот реквизит отображается на управляемой форме. И, в случае иерархии групп и элементов в нем указана группа, в которую входит этот элемент.

Родитель иерархического справочника 1С

Если группа не указана, то значит элемент верхнего уровня.

Также, родитель имеется у элементов справочника с иерархией элементов.

Родитель иерархического справочника 1С

Создать элемент иерархического справочника 1С

Для того, чтобы создать группу справочника (в случае, иерархии групп и элементов), необходимо воспользоваться методом менеджера справочника СоздатьГруппу(). А для создания элемента следует воспользоваться методом СоздатьЭлемент(). Если мы хотим, чтобы вновь созданный элемент входил в какую-то группу, то следует в свойство Родитель этого элемента записать ссылку на нужную группу.

В коде ниже, создаем группу, а потом создаем элемент, который входит в эту группу:

Заметьте, группа в коде выше, группа верхнего уровня. У неё при создании не был задан Родитель.

В случае иерархии элементов всегда нужно создавать элементы, но также следует в свойстве Родитель созданного элемента указать ссылку на другой элемент, которому будет подчинен созданный.

Изменить элемент иерархического справочника 1С

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

Если же мы хотим сделать элемент верхнего уровня, то этому реквизиту нужно присвоить пустую ссылку.

Поиск в иерархическом справочнике 1С

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

Например, поиск в определенной группе будет осуществляться так:

Выборка иерархического справочника 1С

В платформе 1С 8.3. существует возможность выбрать элементы иерархического справочника, которые входят в ту или иную группу, для этого следует воспользоваться методом Выбрать с заполненным параметром Родитель. В этом случае будут выбраны группы и элементы, которых входят непосредственно в указанную группу, но не будут выбраны группы элементы, которые входят в подчиненные группы. Чтобы выбрать элемент и группы, входящие в какую-то группу, следует воспользоваться методом ВыбратьИерархически.

Например, при таком коде:

Будут выбраны элементы, входящие в указанную группу.

А в этом случае:

Будут выбраны элементы, которые входят и в указанную группу, и в подчиненные ей группы.

И Выбрать, и ВыбратьИерархически отбирают и группы, и элементы справочников. Поэтому, в коде выше было использовано свойство ссылки справочника ЭтоГруппа. Это свойство имеет значение Истина, если ссылка является группой справочника.

Программировать в 1С за 11 шагов

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

Читайте также: