Файл: Информационные технологии и платформы разработки информационных систем.pdf
Добавлен: 05.04.2023
Просмотров: 346
Скачиваний: 2
В этом случае, как и сейчас, палитр а свойств откр оется и будет закр еплен а н а р абочей области кон фигур атор а. То есть пр и выделен ии какого-либо объекта кон фигур ации окн о его свойств всегда будет откр ыто. Одн ако есть удобн ая возможн ость откр епить палитр у свойств, используя символ кн опки в заголовке окн а палитр ы свойств (р ис. 6).
Рис. 6. «Откр епим» палитр у свойств
В этом состоян ии, пр и н аведен ии кур сор а мыши н а любое др угое окн о, палитр а свойств будет свор ачиваться н а дополн ительн ую пан ель в пр авой части экр ан а (р ис. 7).
Рис. 7. Кн опка н а дополн ительн ой пан ели
Пр и н аведен ии кур сор а мыши н а символ свер н утой палитр ы свойств он а будет откр ываться. Подобн ым поведен ием (возможн остью быть пр икр епленн ым, пр ячущимся и т. д.) обладает н е только окн о палитр ы свойств, н о и др угие окн а кон фигур атор а (н апр имер , окн о дер ева кон фигур ации).Одн ако пор ядок р асположен ия подсистем н ас н е совсем устр аивает. Измен им его.
Закр оем пр иложен ие и вер н емся в кон фигур атор . Выделим кор ен ь дер ева объектов кон фигур ации ПособиеДляН ачин ающих, н ажатием пр авой кн опки мыши вызовем кон текстн ое мен ю и выбер ем пун кт Откр ыть коман дн ый ин терфейс кон фигур ации (р ис.8).
Рис. 8. Вызов окн а н астр ойки коман дн ого ин тер фейса кон фигур ации
В откр ывшемся окн е Коман дн ый ин тер фейс вы увидите список создан н ых вами подсистем (р азделов пр иложен ия). С помощью кн опок Ввер х, Вн из измен им пор ядок р асположен ия р азделов в этом списке.
Р асположим сн ачала подсистемы, отр ажающие пр оизводствен н ую деятельн ость н ашей фир мы: Учет матер иалов и Оказан ие услуг, затем бухгалтер скую деятельн ость и р асчет зар платы сотр удн иков: Бухгалтер ия и Р асчет зарплаты, а затем подсистему Пр едпр иятие (р ис.9). [4 с 113]
Р ис. 9. Коман дн ый ин тер фейс
Н а следующей схеме изобр ажен о взаимодействие объектов встр оен н ого языка для р аботы с кон стан тами (р ис. 10).
Рис. 10. Объекты встр оен н ого языка для р аботы с кон стан тами
Кон стан тыН абор – пр едоставляет возможн ость пр оведен ия опер аций чтен ия и записи ср азу для гр уппы кон стан т, в частн ом случае – для всех кон стан т. Также используется в фор ме кон стан т для хр ан ен ия, записи и считыван ия констан т.
КонстантыНабор – предоставляет возможность проведения операций чтения и записи сразу для группы констант, в частном случае – для всех констант. Также используется в форме констант для хранения, записи и считывания констант.
КонстантаМенеджерЗначения.<имя> – используется для доступа к константе. Любая запись константы (интерактивно в форме, объекты КонстантыНабор и КонстантаМенеджер.<имя>) создает объект этого типа и производит запись с его помощью, что обеспечивает вызов модуля и обработчиков событий этого объекта.
Ниже приведены примеры использования объектов встроенного языка для работы с константами
1.
// Глобальный контекст
// Константы
// Пример: установить значение константы.
Константы.Бухгалтер.Установить("Сидоров Петр Иванович");
2.
// объект КонстантыМенеджер
// .
// []
// Для Каждого … Из … Цикл … КонецЦикла;
// Пример: прочитать значение константы.
Результат = Константы.ПрефиксНумерации.Получить();
Сообщить("Значение константы ПрефиксНумерации = "+ Результат);
// Пример: установить значение константы ПрефиксНумерации равным ЦБ.
Константы["ПрефиксНумерации"].Установить("ЦБ");
Сообщить("Новое значение = " + Константы["ПрефиксНумерации"].Получить());
// Пример: очистить значения всех констант.
Для Каждого ОчереднаяКонстанта Из Константы Цикл
ОчереднаяКонстанта.Установить(Неопределено);
КонецЦикла;
3.
// объект КонстантыМенеджер
// СоздатьНабор()
// Пример: установить новые значения нескольких констант.
Набор = Константы.СоздатьНабор("Руководитель, Бухгалтер");
Набор.Руководитель = "Николаев Денис Павлович";
Набор.Бухгалтер = "Николаева Людмила Сергеевна";
Набор.Записать();
4.
// объект КонстантаМенеджер.
// СоздатьМенеджерЗначения()
// Пример: вывести значения всех констант, существующих в конфигурации.
Для Каждого ОчереднаяКонстанта Из Константы Цикл
ИмяКонст = ОчереднаяКонстанта.СоздатьМенеджерЗначения().Метаданные().Имя;
ЗначениеКонст = ОчереднаяКонстанта.Получить();
Сообщить("Константа "+ ИмяКонст +" = "+ ЗначениеКонст);
КонецЦикла;
Последовательность событий при записи констант из формы констант (записать и закрыть)( Рис. 10)
Рис. 10. Последовательность событий при записи констант из формы констант
Справочники
Объекты встроенного языка для работы со справочниками
На следующей схеме изображено взаимодействие объектов встроенного языка для работы со справочниками (рис. 11).
Рис. 11. Объекты встроенного языка для работы со справочниками
Заливкой выделен объект ман ипулир ован ия дан н ыми. Метод объекта, от котор ого идет стр елка, пр иводится в листин ге под соответствующей цифр ой (н апр имер , под цифр ой 3 пр иводится метод Н айтиПоКоду() объекта Спр авочн икМен еджер .<имя>), а объект, к котор ому идет стр елка, – это тип объекта, возвр ащаемого методом (н апр имер , Спр авочн икСсылка.<имя>).
Н иже пр иведен ы пр имер ы использован ия объектов встр оен н ого языка для р аботы со спр авочн иками (листин г 12).
Листинг 12. Пр имер ы использован ия объектов
1.
// Глобальный контекст
// Справочники
// Пример: вывести все типы ссылок на элементы справочников, существующие в конфигурации.
Массив = Справочники.ТипВсеСсылки().Типы();
Для Каждого ОчереднойТип из Массив Цикл
Сообщить(ОчереднойТип);
КонецЦикла;
2.
// объект СправочникиМенеджер
// .
// []
// Для Каждого … Из … Цикл … КонецЦикла;
// Пример: создать новую группу справочника "Номенклатура".
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
НоваяГруппа.Наименование = "Моя новая группа";
НоваяГруппа.Записать();
// Пример: получить ссылку на справочник "Номенклатура".
Справочники["Номенклатура"].ПолучитьСсылку();
3.
// объект СправочникМенеджер.
// НайтиПоКоду()
// НайтиПоНаименованию()
// НайтиПоРеквизиту()
// ПустаяСсылка()
// ПолучитьСсылку()
// .
// Пример: проверить, помечен ли на удаление элемент справочника "Номенклатура" с кодом 13.
Если Справочники.Номенклатура.НайтиПоКоду(13).ПометкаУдаления Тогда
Сообщить("Элемент с кодом 13 помечен на удаление");
КонецЕсли;
// Пример: является ли элемент справочника "Номенклатура" с наименованием "Услуги" группой.
Если Справочники.Номенклатура.НайтиПоНаименованию("Услуги", Истина).ЭтоГруппа Тогда
Сообщить("Элемент Услуги является группой");
КонецЕсли;
// Пример: проверить, что для всех элементов задан вид номенклатуры.
ПустаяСсылкаПеречисления = Перечисления.ВидыНоменклатуры.ПустаяСсылка();
Если Не Справочники.Номенклатура.НайтиПоРеквизиту("ВидНоменклатуры", ПустаяСсылкаПеречисления).Пустая() Тогда
Сообщить("Есть элементы, для которых не задан вид номенклатуры");
КонецЕсли;
// Пример: передать пустую ссылку в параметр метода.
Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.ПустаяСсылка());
4.
// объект СправочникМенеджер.
// Выбрать()
// ВыбратьИерархически()
// Пример: вывести список элементов, расположенных в корне справочника.
Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.ПустаяСсылка());
Пока Выборка.Следующий() Цикл
Если Не Выборка.ЭтоГруппа Тогда
Сообщить(Выборка);
КонецЕсли;
КонецЦикла;
// Пример: удалить все элементы иерархического справочника.
Выборка = Справочники.Номенклатура.ВыбратьИерархически();
Пока Выборка.Следующий() Цикл
Выборка.Удалить();
КонецЦикла;
5.
// объект СправочникМенеджер.
// СоздатьГруппу()
// СоздатьЭлемент()
// Пример: создать новый элемент справочника "Сотрудники".
НовыйЭлемент = Справочники.Сотрудники.СоздатьЭлемент();
НовыйЭлемент.Наименование = "Смирнов Андрей Анатольевич";
// Заполнить табличную часть "ТрудоваяДеятельность".
НоваяСтрокаТабличнойЧасти = НовыйЭлемент.ТрудоваяДеятельность.Добавить();
НоваяСтрокаТабличнойЧасти.Организация = "ООО НТЦ";
НоваяСтрокаТабличнойЧасти.НачалоРаботы = Дата(2013,02,01);
НоваяСтрокаТабличнойЧасти.ОкончаниеРаботы = Дата(2013,08,31);
НоваяСтрокаТабличнойЧасти.Должность = "Программист";
НовыйЭлемент.Записать();
6.
// объект СправочникОбъект., СправочникСсылка.
// Владелец
// Родитель
// Ссылка
// Пример: запретить изменение подчиненных элементов, если у
// владельца установлено соответствующее свойство
// "ИзмененияЗапрещены" в модуле формы элемента справочника.
Процедура ПередЗаписью(Отказ)
Если Владелец.ИзмененияЗапрещены Тогда Отказ = Истина;
КонецЕсли;
КонецПроцедуры
7.
// объект СправочникСсылка.
// ПолучитьОбъект()
// СправочникОбъект.
// Скопировать()
// Пример: изменить наименование элемента справочника.
Элемент = Справочники.Номенклатура.НайтиПоКоду(10).ПолучитьОбъект();
Элемент.Наименование = "Мое новое наименование";
Элемент.Записать();
// Пример: заполнить справочник тестовыми данными.
Элемент = Справочники.Номенклатура.СоздатьЭлемент();
Элемент.Наименование = "Тестовый элемент";
Элемент.Записать();
Для ш = 1 по 1000 Цикл
НовыйЭлемент = Элемент.Скопировать();
НовыйЭлемент.Записать();
КонецЦикла;
8.
// объект СправочникВыборка.
// Ссылка
// Пример: заполнить табличную часть документа
// "ПриходнаяНакладная" всеми элементами из указанной группы справочника "Номенклатура".
Выборка = Справочники.Номенклатура.ВыбратьИерархически(ПолеВвода1);
Пока Выборка.Следующий() Цикл
СсылкаНаНоменклатуру = Выборка.Ссылка;
Если СсылкаНаНоменклатуру.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
НоваяСтрока = Материалы.Добавить();
НоваяСтрока.Материал = СсылкаНаНоменклатуру;
КонецЦикла;
9.
// объект СправочникВыборка.
// ПолучитьОбъект()
// Пример: пометить все элементы неиерархического справочника на удаление.
Выборка = Справочники.Клиенты.Выбрать();
Пока Выборка.Следующий() Цикл
Выборка.ПолучитьОбъект().УстановитьПометкуУдаления(Истина);
КонецЦикла;
Спр авочн ик Товар ы: Поставщики и Покупатели. Дополн ительн ые р еквизиты: Пр оизводитель, Цен а покупки, Н ацен ка (в %), Скидка (в %), Цен а пр одажи.(рис.13)
Р ис. 13 Создан ие спр авочн ика товар ы
Цен а пр одажи фор мир уется пр и вводе элемен та спр авочн ика.
Рис. 14 Окн о модуля фор мы элемен та
Р абота с докумен тами. Создаем 3 докумен та: заявка покупателя, пр иход товар а и пр одажа товар а.
Н а следующей схеме изобр ажен о взаимодействие объектов встр оен н ого языка для р аботы с докумен тами (р ис. 15).
Рис. 15. Объекты встр оен н ого языка для р аботы с докумен тами
Н иже пр иведен ы пр имер ы использован ия объектов встр оен н ого языка для р аботы с докумен тами (рис. 16).
1.
// Глобальный контекст
// Документы
// Пример: вывести все типы ссылок на элементы справочников, существующие в конфигурации.
Массив = Документы.ТипВсеСсылки().Типы();
Для Каждого ОчереднойТип из Массив Цикл
Сообщить(ОчереднойТип);
КонецЦикла;