|
Пока ВыборкаПодразделений.Следующий() ЦиклСтрокаСПодразделением = СтрокаДерева.Строки.Добавить(); СтрокаСПодразделением.Ссылка = ВыборкаПодразделений.Ссылка; ДобавитьУровеньПодразделений( СтрокаСПодразделением, ВыборкаПодразделений.Ссылка, ВладелецПодразделения); КонецЦикла; КонецПроцедуры
Листинг ю_9.1
// Модуль справочника "ОсновныеСредства" //УстановитьКод() - устанавливает новый код //для записи в справочнике Процедура УстановитьКод() Экспорт Если ЭтоГруппа=Ложь Тогда // это элемент справочника УстановитьНовыйКод(Фирма.Префикс+"-"); КонецЕсли; КонецПроцедуры Затем исправьте модуль формы: Процедура ПриИзмененииФирмы(Элемент) УстановитьКод(); КонецПроцедуры
Листинг ю_9.2
//ПриИзмененииГруппыОС - управляет видимостью // реквизита "ЕстьДетали" и страницы "СписокДеталей" Процедура ПриИзмененииГруппыОС(Элемент) Экспорт _Видимость = (ГруппаОС =Перечисления.ГруппыОС.МашиныИОборудование); ЭлементыФормы.ЕстьДетали.Видимость =_Видимость; ЭлементыФормы.Панель1.Страницы.СписокДеталей.Видимость = _Видимость; КонецПроцедуры
Листинг ю_9.3
//НаборДанныеОСПередНачаломДобавления – проверяет // возможность добавления новой строки Процедура НаборДанныеОСПередНачаломДобавления(Элемент, Отказ, Копирование) Если ЭтоНовый() Тогда // откажем в добавлении строки: Отказ = Истина; Предупреждение("Прежде чем добавлять запись необходимо записать элемент справочника!"); КонецЕсли; КонецПроцедуры
Листинг ю_9.4
//НаборДанныеОСПриНачалеРедактирования - заполняет реквизит // ОС ссылкой на текущий элемент справочника Процедура НаборДанныеОСПриНачалеРедактирования(Элемент, НоваяСтрока) Если НоваяСтрока Тогда ТекСтрока = ЭлементыФормы.НаборДанныеОС.ТекущаяСтрока; ТекСтрока.ОС = Ссылка; КонецЕсли; КонецПроцедуры
Листинг ю_9.5.
//СписокДеталейПередОкончаниемРедактирования - проверяет // правильность заполнения строки Процедура СписокДеталейПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования,Отказ) // Если пользователь отказался от ввода новой строки Если НоваяСтрока И ОтменаРедактирования Тогда // то нам все равно Возврат; КонецЕсли; // Если пользователь подтерждает ввод строки Если Не ОтменаРедактирования Тогда ТекСтрока = ЭлементыФормы.СписокДеталей.ТекущаяСтрока; Если ТекСтрока.Деталь.Ссылка.Пустая() Тогда Предупреждение("Не выбрана деталь!"); Отказ = Истина; Возврат; КонецЕсли; КонецЕсли; КонецПроцедуры
Листинг ю_9.6.
Процедура ПриОткрытии() Если ЭтоНовый() Тогда // Заполним реквизиты нового объекта начальными значениями Фирма = Константы.ОсновнаяФирма.Получить(); УстановитьКод(); КонецЕсли; // Установим свойство видимость у элементов диалога перед его Открытием ПриИзмененииГруппыОС(Неопределено); КонецПроцедуры
Листинг ю_9.7.
//ЕстьОшибка() - возвращает имя реквизита с ошибкой //Если ошибок нет, то: "" Функция ЕстьОшибка() Экспорт
// Группу записываем всегда! Если ЭтоГруппа Тогда Возврат ""; КонецЕсли; //Ошибкой будем считать пустые реквизиты //"Фирма" и "ГруппаОС" Если Фирма.Ссылка.Пустая() Тогда Возврат "Фирма"; КонецЕсли; Если ГруппаОС.Пустая() Тогда Возврат "ГруппаОС"; КонецЕсли; // ошибок нет Возврат ""; КонецФункции
Листинг ю_9.8.
// Проверяет правильность заполнения элемента справочника Процедура ПередЗаписью(Отказ) Имя = ЕстьОшибка(); Если Имя = "" Тогда Возврат; //ошибок нет КонецЕсли; Сообщить("Реквизит"+Имя+" не содержит данных!", СтатусСообщения.Важное); Сообщить("Запись "+ ЭтотОбъект+" справочника не записана!", СтатусСообщения.ОченьВажное); Отказ = Истина; КонецПроцедуры
Листинг ю_9.9.
//ПередЗаписью - проверяет правильность заполнения элемента Справочника Процедура ПередЗаписью(Отказ) Имя = ЕстьОшибка(); Если Имя = "" Тогда Возврат; // т.к. нет ошибок КонецЕсли; Предупреждение("Реквизит"+Имя+" не содержит данных!"); // установим курсор в нужное поле; ТекущийЭлемент = ЭлементыФормы[Имя]; Отказ = Истина; КонецПроцедуры
Листинг ю_9.10.
//ПриЗаписи - записывает набор записей регистра сведений Процедура ПриЗаписи(Отказ) Попытка НаборДанныеОС.Обновить(); Исключение Предупреждение("Не удалось сохранить""Данные ОС""!"); Отказ = Истина КонецПопытки; КонецПроцедуры
Листинг ю_9.11.
//ПослеЗаписи() - переустанавливает отбор после записи Процедура ПослеЗаписи() НаборДанныеОС.Отбор.ОС.Установить(Ссылка); КонецПроцедуры
Листинг ю_9.12.
//ПолеКартинкиНажатие - читает картинку в поле картинки Процедура ПолеКартинкиНажатие(Элемент) // Открем диалог выбора файла Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл картинки"; Диалог.ПредварительныйПросмотр = Истина; Диалог.Фильтр = "Точечный рисунок(*.jpg)|*.jpg"; // Если пользователь сделал выбор тогда Если Диалог.Выбрать() Тогда // Прочитаем картинку в ОП НоваяКартинка = Новый Картинка(Диалог.ПолноеИмяФайла); // и отобразим в форме: ЭлементыФормы.ПолеКартинки.Картинка =НоваяКартинка; Изображение = Новый ХранилищеЗначения(НоваяКартинка); КонецЕсли; КонецПроцедуры
Листинг ю_9.13.
// ПриОткрытии - действия в момент открытия формы Процедура ПриОткрытии() Если ЭтоНовый() Тогда // Заполним реквизиты нового объекта начальными значениями Фирма = Константы.ОсновнаяФирма.Получить(); УстановитьКод(); // запишем пустую картинку Изображение = Новый ХранилищеЗначения(Новый Картинка()); КонецЕсли; // Установим свойство видимость у элементов диалога перед его // Открытием ПриИзмененииГруппыОС(Неопределено); // отобразим картинку ЭлементыФормы.ПолеКартинки.Картинка = Изображение.Получить(); КонецПроцедуры
Листинг ю_9.14.
//Печать - печатает записи из справочника "ОсновныеСредства" // и срез записей из регистра сведений "ДанныеОС" Процедура Печать(Элемент) ТабДок = Новый ТабличныйДокумент; Макет = Справочники.ОсновныеСредства.ПолучитьМакет("Печать"); // Получение среза
ТаблицаСреза = РегистрыСведений.ДанныеОС.СрезПоследних(РабочаяДата); // Заголовок Секция = Макет.ПолучитьОбласть("Заголовок"); ТабДок.Вывести(Секция); // Шапка Секция = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Секция); Выборка = Справочники.ОсновныеСредства.ВыбратьИерархически(); Пока Выборка.Следующий() Цикл Объект = Выборка.ПолучитьОбъект(); Если Объект.ЭтоГруппа Тогда Секция = Макет.ПолучитьОбласть("Группа"); Секция.Параметры.Код = Объект.Код; Секция.Параметры.Наименование = Объект.Наименование; ТабДок.Вывести(Секция); Иначе Секция = Макет.ПолучитьОбласть("Элемент"); Секция.Параметры.Код = Объект.Код; Секция.Параметры.Наименование = Объект.Наименование; Секция.Параметры.Фирма = Объект.Фирма; Секция.Параметры.ГруппаОС = Объект.ГруппаОС; Секция.Параметры.ДатаВвода = Объект.ДатаВвода; Секция.Параметры.ДатаСписания = Объект.ДатаСписания; // Найдем строку содержащую ОС в таблице значений СтрокаСреза = ТаблицаСреза.Найти(Объект.Ссылка,"ОС"); Если СтрокаСреза<>Неопределено Тогда Секция.Параметры.БалансоваяСтоимость= СтрокаСреза.БалансоваяСтоимость; Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|