Содержание:
1. 1С: Предприятие Элемент, логика работы приложения и основные понятия
2. Реализация программы 1С: Элемент
1С: Предприятие Элемент, логика работы приложения и основные понятия
Функциональность приложения:
Приложение «1С: Предприятие. Элемент» функционирует в соответствии с заданным проектом, который состоит из различных элементов. Каждый элемент представляет собой описание определенной группы сущностей или процессов в конкретной предметной области, обладающих схожими характеристиками и ролями.
В этом разделе рассматриваются предметные области, для которых приложение предлагает соответствующие виды элементов проекта.
Описание модели данных:
При разработке собственных алгоритмов часто требуются удобные модели данных. Для их создания можно использовать структуры, которые представляют собой описание типа с фиксированным набором полей.
Фиксированный набор значений:
В процессе разработки приложений часто возникает необходимость в фиксированных наборах значений, таких как состояния заказов (например, Открыт, В работе, Выполнен) или виды цен (Оптовые, Розничные и т.д.). Эти значения задаются разработчиком и используются пользователями при редактировании прайс-листов или изменении состояния заказов.
Хранение данных:
Приложение обычно сохраняет уникальные данные, относящиеся к автоматизируемому предприятию или области деятельности. Это может включать списки поставщиков, покупателей, товаров, банковские справочники и адресные классификаторы. Способы хранения данных могут варьироваться в зависимости от их назначения и объема.
Контракт:
Контракты описывают набор свойств и методов, которые должны быть реализованы в других элементах проекта.
Глобальное клиентское событие:
Глобальное клиентское событие позволяет задать событие на уровне подсистемы или проекта, к которому могут подписываться другие методы. Это особенно полезно, когда один компонент интерфейса должен уведомить другие компоненты о наступлении определенного события.
Интеграционная шина:
В современных компаниях программное обеспечение часто разнородно: оно создается различными производителями и функционирует в разных средах и операционных системах. Тем не менее, важно обеспечить совместную работу таких систем, чтобы данные из одной системы могли поступать в другие с возможными промежуточными преобразованиями. Получатели данных могут определяться динамически в зависимости от передаваемой информации. Для решения этих задач в «Элементе» предусмотрен механизм интеграционной шины, который основывается на виде элементов проекта ПроцессИнтеграции.
Реализация программы 1С: Элемент
Задача: Необходимо в приложении программно добавить кнопки с переходами в другие приложения, которые меняют цвет при наведении, добавив в текущее приложение.
Шаг 1.
В навигаторе проекта создаём Компонент интерфейса => Фиксированная группа.
Выбираем “Ориентация : Горизонтальная”, чтобы наши кнопки были расположены горизонтально.
Шаг 2. Открываем форму и создаём метод ПослеСоздания:
@Обработчик
метод ПослеСоздания()
Содержимое.Очистить()
знч Меню = ПолучитьМеню()
для Элемент из Меню
ДобавитьКнопкуМеню(Элемент,Цвет(Элемент.Наименование))
;
;
В нём очищаем содержимое
Шаг 3.
Создаём структуру, в которой храним: Наименование, Ссылка, Картинка.
структура ПунктМеню
обз знч Наименование:Строка
обз знч Ссылка:Строка
обз знч Картинка:ДвоичныйОбъект.Ссылка
;
Шаг 4.
Создаём метод ПолучитьМеню, в котором добавляем сами кнопки, их название, путь и картинки.
@Локально
метод ПолучитьМеню(): Массив<ПунктМеню>
знч Меню: Массив<ПунктМеню>
Меню.Добавить(новый ПунктМеню(“Время призов”, “vremyaprizov,”,Ресурс{ koderline /ЗвездаВкружке.png}.Ссылка))
Меню.Добавить(новый ПунктМеню(“Билеты и отели”, “tickets,”,Ресурс{ koderline /билеты.png}.Ссылка))
Меню.Добавить(новый ПунктМеню(“Одежда и обувь”, “category?id=odezda,”,Ресурс{ koderline /одежда.png}.Ссылка))
Меню.Добавить(новый ПунктМеню(“Электроника”, “category?id=electronic,”,Ресурс{koderline/электроника.png}.Ссылка))
Меню.Добавить(новый ПунктМеню(“Дом и сад”, “category?id=domisad,”,Ресурс{ koderline /дом.png}.Ссылка))
Меню.Добавить(новый ПунктМеню(“Детские товары”, “category?id=detskiytovary,”,Ресурс{ koderline /детскиетовары.png}.Ссылка))
Меню.Добавить(новый ПунктМеню(“Акции”, “akcii,”,Ресурс{ koderline /акции.png}.Ссылка))
Меню.Добавить(новый ПунктМеню(“Премиум”, “premium,”,Ресурс{ koderline /премиум.png}.Ссылка))
возврат Меню
;
Путь к картинке берем из ресурсов, нажав “Скопировать относительный путь”.
Скопировать относительный путь
Шаг 5.
Создаём процедуру, в которой определяем цвета названия кнопок и функцию реализации ДобавитьКнопкуМеню().
@Локально
метод Цвет(Наименование: Строка): неизвестно
если Наименование ==”Время призов”
возврат Цвета.Красный
иначе если Наименование ==”Билеты и отели”
возврат Цвета.Зеленый
иначе
возврат Цвета.Стилевые.Текст
;
;
@Локально
метод ДобавитьКнопкуМеню(Элемент: ПунктМеню, Цвет: неизвестно)
Содержимое.Добавить(новый Надпись(
Значение = Элемент.Наименование,
Ссылка = Элемент.Ссылка,
Изображение = Элемент.Картинка,
Цвет = Цвет,
ПриНаведении = &ПриНаведении,
ПриПотереНаведения = &ПриПотереНаведения
))
;
Шаг 6.
Описываем методы ПриНаведении и ПриПотереНаведения, в которых задаём цвет.
метод ПриНаведении(Компонент:Компонент,Событие:СобытиеКомпонента)
(Компонент как Надпись).Цвет = Цвета.Синий
;
метод ПриПотереНаведения(Компонент:Компонент,Событие:СобытиеКомпонента)
(Компонент как Надпись).Цвет = Цвет((Компонент как Надпись).Значение как Строка)
;
Получившиеся кнопки.
Кнопки при наведени
Ошибка
Переход на форму по кнопке.
Итог: У нас отображаются кнопки, которые при наведении подсвечиваются синим цветом, при нажатии переходит на форму, так как у нас нету формы, отображается ошибка точки входа.
Специалист компании ООО “Кодерлайн”,
Юрков Алексей
Добавить комментарий