Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на платформе 1С Предприятие. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
81
Изменить значение ключа структуры 1С. Если необходи- мо изменить значение какого-нибудь ключа, то мы, используя метод Вставить, указываем в качестве первого параметра ключ, значение которого хотим поменять, а в качестве второго пара­метра новое значение для данного ключа:
Обход коллекции структуры 1С. Обход структуры осуще- ствляется с помощью оператора цикла Для каждого…Цикл. Обойдем уже созданную структуру.
Безошибочное получение значения элемента. Если при об- ращении к ключу структуры указать название несуществующего в данной структуре ключа, то программа выдаст ошибку. Но есть метод объекта Структура, с помощью которого можно обратиться к значению ключа, не боясь вызвать ошибку в случае промаха.
82
Этот метод – Свойство. Данный метод является функцией и воз­вращает Истину, если указанный ключ есть, и Ложь, если указан­ного ключа нет.
Рассмотрим синтаксис метода:
Свойство(<ИмяКлюча>,<ЗаписываемоеЗначение>);
ИмяКлюча - название ключа для поиска свойства.
В параметр ЗаписываемоеЗначение будет возвращено най­денное значение. В том случае, если ключа нет в структуре, то данному параметру присвоится значение Неопределено. Пара­метр ЗаписываемоеЗначение где-то должен быть определен.
В переменную А запишется значение, которое связанно с Ключ1. Но если мы напишем так,
то никакой ошибки не возникнет, и в переменной А присвоится значение Неопределено.
Соответствие в 1С 8.3. Соответствие в языке программи- рования 1С чем-то похоже на Структуру, это тоже коллекция пар Ключ и значение. Но в отличие от Структуры в Соответствие, чтобы получить значение по определенному ключу, нужно обра­щаться не как к свойству объекта, а через квадратные скобки, и в качестве ключа можно использовать значение любого типа.
Структура: Структура1.Ключ1
Соответствие: Соответствие1[«Ключ1»]
Соответствие можно создать на всех видах клиентов и в любом контексте. Сериализируется, т.е. можно передать
83
переменную с типом Соответствие с клиентского контекста на серверный.
Хоть в ключ и значение соответствия можно записать пе­ременные любого типа, использование типов в этом случае очень сильно зависит от контекста и вида клиента: мы не можем в кли­ентском задать в ключ или значение, тип которого работает толь­ко в серверном контексте (например, ДокументОбъект.<>). Новое соответствие создается при помощи конструктора Новый.
Соответствие1 = Новый Соответствие;
Для того чтобы добавить новый элемент соответствия, не­обходимо использовать метод Вставить, который имеет следую­щий синтаксис:
Вставить(<Ключ>, <Значение>)
Параметр «Ключ» может иметь любой тип. Это очень важ­ное свойство. Таким образом, с помощью коллек­ции Соответствие можно в процессе работы устанавливать соот­ветствие любых объектов с любыми объектами. Простой пример работы с соответствием:
Для того чтобы поменять значение какого-нибудь элемента, который соответствует определенному Ключу, достаточно для этого Ключа присвоить новое значение.
84
Обход соответствия 1С. Обходить соответствие можно с помощью цикла Для каждого…Цикл.
Безошибочное получении значения соответствия 1С. Вы уже поняли, для того чтобы получить значение элемента соответ­ствия, мы используем квадратные скобки. Но иногда возможны ситуации, когда применение квадратных скобок неосуществимо. В таких случаях мы можем использовать метод Получить, кото­рый возвращает любое значение, соответствующее ключу. Если такого ключа нет, то вернется значение Неопределено. Рассмот­рим работу данного метода на соответствии с датами в качестве ключей.
85
Таблицы. В платформе 1С таблицы существуют в двух основных ипостасях: это таблицы значений, которые являются объектами универсальной коллекции значений, и непосредствен­но табличные части документов и справочников.
Таблица значений представляет собой динамический набор значений, имеющих колонки и столбцы. Информация в таблице значений не хранится в базе данных и доступна только при рабо­те контекста, в котором она была создана. Пользователи могут получать доступ к данным, хранящимся в таблице значений по­средством элемента формы Табличное поле.
Вся информация в Таблице значений разбита на колонки, причем каждая колонка таблицы должна иметь свое уникальное название. В том случае если таблица выводится на форму посред­ством элемента Табличное поле, то у данного элемента будут все колонки, которые имеются у таблицы значений с соответствую­щими именами. Причем количество колонок в Табличном поле может быть меньше, чем непосредственно в таблице значений, т. е. не все колонки из таблицы значений можно отображать в таб­личном поле. Нет никаких ограничений на количество колонок. Количество колонок, как правило, всегда фиксировано и задается
86
разработчиком на этапе создания нужного функционала, а коли­чество строк переменно. Строки в таблицу значений можно до­бавлять посредством табличного поля интерактивно, а также ис­пользуя методы объекта Таблица значений программным спосо­бом. Количество строк может быть неограниченно.
Необязательно выводить таблицу значений на форму, про­граммист может использовать ее и просто внутри модуля для осуществления различных алгоритмов. У Таблиц значений есть ряд полезных методов, которые позволяют сортировать таблицу по определенным колонкам, сворачивать, получать итог по кон­кретной колонке, осуществлять выборку части строк по опреде­ленным параметрам и многое другое. Создать Таблицу значений несложно, делается это с помощью оператора Новый, и она сущест­вует в рамках того контекста, в котором был написан конструктор. Выглядит это так:
Таблица1 = Новый ТаблицаЗначений;
Синтаксис метода Добавить коллекции колонок таблицы значений выглядит так:
Добавить(<Имя>, <Тип>, <Заголовок>, <Ширина>)
Как видно, у данного метода всего четыре параметра, по анало­гии с четырьмя свойствами объекта Колонка таблицы значений». Параметры Имя, Заголовок и Ширина Вам понятны, тип пара­метров Имя и Заголовок это строка, а тип параметра Ширина – число.
Загрузка в табличную часть и выгрузка из табличной части. Рассмотрим метод табличной части – Загрузить. С помо-
щью данного метода можно загрузить таблицу значений в таб­личную часть справочника или документа. Причем уже имею­щиеся строки табличной части удаляются. Колонки по названиям и по типам значений у таблицы и у табличной части должны сов­падать. Разместим в обработке на форме табличное поле с колон­ками Комплектующее и Количество.
87
При нажатии на кнопку Выполнить будем записывать таб­лицу значений, которая привязана к табличному полю, в таблич­ную часть выбранного автомобиля.
В обработчике кнопки Выполнить напишем следующий код:
88
Проверим, есть ли данные в реквизите Автомобиль. Затем получили объект элемента данного справочника, получим таб­личную часть элемента. Загрузим в таблицу значений, после чего запишем наш объект.
Для выгрузки данных из табличной части в таблицу значе­ний используется метод Выгрузить. Рассмотрим синтаксис дан­ного метода
Действует данный метод точно так же, как и метод Скопи­ровать. Создадим кнопку Загрузить табличную часть, при нажа­тии на которую табличная часть из реквизита формы Автомобиль будет загружена в табличное поле на форме.
89
В обработчике нажатия на кнопку напишите следующий код:
Проверим данный код, нажав на кнопку Выполнить. Все методы, которые используются для работы с табличными частя­ми, были рассмотрены на примере таблиц значений. Важно уметь обращаться к табличным частям справочников и докумен­тов, работать с ними и производить все нужные манипуляции над ними.
90
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Ажеронок, В. А. 1С:Предприятие 8.2. Разработка управ-
ляемого интерфейса, примеры и типовые задания / В. А. Ажеро­нок, А. В. Островерх. - Москва: ООО «1С-Паблишинг», 2017. ­72 с. – Текст: непосредственный.
Бобровников, А. Э. 1С:Академия ERP. Подготовка и авто­матизация отчетности по МСФО / А. Э. Бобровников, С. В. Диятян. - Москва: 1С-Паблишинг, 2019 – 533 с. – Текст: непо­средственный.
Гладких, Т. В. Разработка прикладных решений для ин- формационной системы 1С: Предприятие 8.2: учеб. пособие / Т. В. Гладких, Е. В. Воронова. – Воронеж, ВГУИТ, 2016. - 56 с. – Текст: непосредственный.
Гладких, Т. В. Прикладное программирование в цифрови- зации бизнес-процессов : учеб. пособие. / Т. В. Гладких, Л. А. Коробова, Н. А. Чернышова – Воронеж, ВГУИТ, 2021. - 70 с. – Текст: непосредственный.
Гончаров, Д. И. Технологии интеграции 1С:Предприятия
8.2 реализация прикладных задач / Д. И. Гончаров, Е. Ю. Хруста-
лева. – Москва: ООО «1С-Паблишинг», 2018. – 602 с. – Текст: непосредственный.
Низамутдинов, И. И. Программировать в 1С за 9 шагов / И. И. Низамутдинов. – Москва: ООО «1С-Паблишинг», 2014. – 502 с. – Текст: непосредственный.
Радченко, М. Г. 1С:Предприятие 8.2. Практическое посо­бие: примеры и типовые задания / М. Г. Радченко, Е. Ю. Хруста­лева. – Москва: ООО «1С-Паблишинг», 2018. – 872 с. – Текст: непосредственный.
Смирнова, Г. Н. Проектирование экономических инфор- мационных систем: учебник / Г. Н. Смирнова, А. А. Сорокин, Ю. Ф. Тельнов. – Москва : Финансы и статистика, 2015. – 510 с.
– Текст: непосредственный.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]