|
Фрагменты листингов, приведенных в книгеСтр 1 из 8Следующая ⇒ Фрагменты листингов, приведенных в книге
Листинг ю_2.1
// Модуль приложения //ПримерыОбращенияККонстантам() - содержит примеры //обращения к Процедура ПримерыОбращенияККонстантам() // Если это первый запуск конфигурации, то константа // содержит в качестве значения 1 января 0001 года. Если Константы.ДатаРегистрации.Получить()='00010101' Тогда // Тогда установим 1 января текущего года Константы.ДатаРегистрации.Установить (НачалоГода(ТекущаяДата())); КонецЕсли; // распечатаем значения констант: Сообщить("Датарегистрации:"+Константы.ДатаРегистрации.Получить()+"."); Сообщить("Наименованиеорганизации:"+Константы.НаименованиеОрганизации.Получить()+"."); КонецПроцедуры
Процедура ПриНачалеРаботыСистемы() //Примеры: ПримерыОбращенияККонстантам(); КонецПроцедуры
Листинг ю_2.2
//ПримерыОбращенияККонстантам() //- содержит примеры обращения к Константам Процедура ПримерыОбращенияККонстантам() //Создадим набор констант: НаборКонстант=Константы.СоздатьНабор ("ДатаРегистрации,НаименованиеОрганизации"); НаборКонстант.Прочитать(); //Прочитаем набор // Если это первый запуск конфигурации, то константа // содержит в качестве значения 1 января 0001 года. Если НаборКонстант.ДатаРегистрации='00010101' Тогда // Тогда установим 1 января текущего года НаборКонстант.ДатаРегистрации=НачалоГода(ТекущаяДата()); НаборКонстант.Записать(); //Запишем набор КонецЕсли; // распечатаем значения констант: Сообщить("Дата регистрации:"+ НаборКонстант.ДатаРегистрации+"."); Сообщить("Наименование организации:"+ НаборКонстант.НаименованиеОрганизации+"."); КонецПроцедуры
Листинг ю_3.1
Процедура ПримерыОбращенияКРегиструСведений() // Найдем Первое значение валютного курса в 2009 г. Запись=РегистрыСведений.Курсы.Получитьпервое('20090101'); Сообщить("Сегодня курс УЕ="+Запись.Курс); КонецПроцедуры
Листинг ю_3.2
Процедура ПримерыОбращенияКРегиструСведений() // Сначала создадим менеджер записи: РегСведКурсы=РегистрыСведений.Курсы.СоздатьМенеджерЗаписи(); // Затем определим период в который будем писать данные: РегСведКурсы.Период='20090109'; //9 января 2009 г. // 1. Пытаемся прочитать запись РегСведКурсы.Прочитать(); // 2. Если записи нет Если Не РегСведКурсы.Выбран() Тогда // 3. Запишем новую РегСведКурсы.Период='20090109'; //9 января 2009 г. РегСведКурсы.Курс=23.7244; РегСведКурсы.Записать(); КонецЕсли; Сообщить("Сегодня курс УЕ="+ РегСведКурсы.Курс);
КонецПроцедуры;
Процедура ПриНачалеРаботыСистемы()
ИмяПроцедуры();
КонецПроцедуры
Листинг ю_3.3
Процедура ПримерыОбращенияКРегиструСведений() // записать в регистр сведений "Курсы" значение 23.7244 на 9 //января 2009г.. // Сначала создадим менеджер записи: РегСведКурсы=РегистрыСведений.Курсы.СоздатьМенеджерЗаписи(); // Затем определим период в который будем писать данные: РегСведКурсы.Период='20090109'; // 9 января 2009 г. // 1. Пытаемся прочитать запись РегСведКурсы.Прочитать(); // 2. Если записи нет Если Не РегСведКурсы.Выбран() Тогда // 3. Запишем новую РегСведКурсы.Период='20090109'; РегСведКурсы.Курс=23.7244; РегСведКурсы.Записать(); КонецЕсли; КонецПроцедуры // 9 января 2009 г.
Листинг ю_3.4 Процедура ПечатьКурсаУЕ(Кнопка) РегСведКурсы=РегистрыСведений.Курсы; НабКурсы=РегСведКурсы.СоздатьНаборЗаписей(); НабКурсы.Прочитать(); к=НабКурсы.Количество(); Для н=1 по НабКурсы.Количество() Цикл ТекСтрока=НабКурсы[к-н]; Сообщить(""+ТекСтрока.Период+Символы.Таб+ТекСтрока.Курс); КонецЦикла; КонецПроцедуры
Листинг ю_3.5
Процедура ПечатьКурсаУЕ(Кнопка) РегСведКурсы=РегистрыСведений.Курсы; НабКурсы=РегСведКурсы.СоздатьНаборЗаписей(); НабКурсы.Прочитать(); к=НабКурсы.Количество(); Для н=1 по НабКурсы.Количество() Цикл ТекСтрока=НабКурсы[к-н]; Сообщить(""+ТекСтрока.Период+Символы.Таб+ТекСтрока.Курс); КонецЦикла; КонецПроцедуры
Листинг ю_3.6
// Модуль набора записей регистра сведений "Курсы" // ПередЗаписью() - проверяет дату периода перед записью в ИБ // Параметры // Отказ (Булево) позволяет отказаться от записи (Ложь-по Умолчанию- // выполнение операции, Истина – отказ От операции. // Замещение (Булево) режим записи набора (Ложь-по умолчанию- Дописывание //записи, Истина – замещение записи.
Если Отказ Тогда Сообщить("Запись не выполнена!!!", СтатусСообщения.ОченьВажное); КонецЕсли; КонецПроцедуры //Проверьте работу процедуры путем ввода новой или редактирования //существующей записи в регистре сведений "Курсы".
Листинг ю_4.1
Листинг ю_6.1
Листинг ю_6.2
Листинг ю_7.1
Процедура Печать(Элемент) //{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать) // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную //изменения будут утеряны!!! ТабДок = Новый ТабличныйДокумент; Макет = Справочники.Подразделения.ПолучитьМакет("Печать"); // Заголовок Область = Макет.ПолучитьОбласть("Заголовок"); ТабДок.Вывести(Область); // Шапка Область = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Область); Выборка = Справочники.Подразделения.ВыбратьИерархически(); Группа = Макет.ПолучитьОбласть("Группа"); Элемент = Макет.ПолучитьОбласть("Элемент"); Иначе Элемент.Параметры.Заполнить(Выборка); ТабДок.Вывести(Элемент); КонецЕсли; КонецЦикла; ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); //}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК КонецПроцедуры
Листинг ю_7.2
Фирмы.Код КАК Код, Фирмы.Наименование
Справочник.Фирмы КАК Фирмы |УПОРЯДОЧИТЬ ПО | Код"; //И выполняем запрос Результат = Запрос.Выполнить(); Секция = Макет.ПолучитьОбласть("Элемент"); // Обработка результата Выборка=Результат.Выбрать(); Листинг ю_8.1
//ПриОткрытии() - заполняет элемент формы "Дерево" // конкретными значениями ВыборкаФирм = Справочники.Фирмы.Выбрать(); Листинг ю_8.2
//ПриОткрытии() - заполняет элемент формы "Дерево" // конкретными значениями Процедура ПриОткрытии() ВыборкаФирм = Справочники.Фирмы.Выбрать(); СтрокаСФирмой, КонецПроцедуры //ДобавитьУровеньПодразделений(...) добавляет в "Дерево" Подраздления СтрокаСПодразделением, КонецПроцедуры
Листинг ю_9.1
// Модуль справочника "ОсновныеСредства" //УстановитьКод() - устанавливает новый код //для записи в справочнике КонецПроцедуры Затем исправьте модуль формы: КонецПроцедуры
Листинг ю_9.2
//ПриИзмененииГруппыОС - управляет видимостью // реквизита "ЕстьДетали" и страницы "СписокДеталей" КонецПроцедуры
Листинг ю_9.3
//НаборДанныеОСПередНачаломДобавления – проверяет // возможность добавления новой строки Копирование) Если ЭтоНовый() Тогда // откажем в добавлении строки: Отказ = Истина; Предупреждение("Прежде чем добавлять запись необходимо записать элемент справочника!"); КонецЕсли; КонецПроцедуры
Листинг ю_9.4
//НаборДанныеОСПриНачалеРедактирования - заполняет реквизит // ОС ссылкой на текущий элемент справочника Если НоваяСтрока Тогда ТекСтрока = ЭлементыФормы.НаборДанныеОС.ТекущаяСтрока; ТекСтрока.ОС = Ссылка; КонецЕсли; КонецПроцедуры
Листинг ю_9.5.
//СписокДеталейПередОкончаниемРедактирования - проверяет // правильность заполнения строки КонецПроцедуры
Листинг ю_9.6.
Процедура ПриОткрытии() Если ЭтоНовый() Тогда // Заполним реквизиты нового объекта начальными значениями Фирма = Константы.ОсновнаяФирма.Получить(); УстановитьКод(); КонецЕсли; // Установим свойство видимость у элементов диалога перед его Открытием ПриИзмененииГруппыОС(Неопределено); КонецПроцедуры
Листинг ю_9.7.
//ЕстьОшибка() - возвращает имя реквизита с ошибкой //Если ошибок нет, то: "" Если ЭтоГруппа Тогда Возврат ""; КонецЕсли; //Ошибкой будем считать пустые реквизиты //"Фирма" и "ГруппаОС" КонецФункции
Листинг ю_9.8.
// Проверяет правильность заполнения элемента справочника Возврат; //ошибок нет КонецЕсли; Сообщить("Реквизит"+Имя+" не содержит данных!", СтатусСообщения.Важное); Сообщить("Запись "+ ЭтотОбъект+" справочника не записана!", СтатусСообщения.ОченьВажное); Отказ = Истина; КонецПроцедуры
Листинг ю_9.9.
//ПередЗаписью - проверяет правильность заполнения элемента Справочника Возврат; // т.к. нет ошибок КонецЕсли; Предупреждение("Реквизит"+Имя+" не содержит данных!"); // установим курсор в нужное поле; ТекущийЭлемент = ЭлементыФормы[Имя]; Отказ = Истина; КонецПроцедуры
Листинг ю_9.10.
//ПриЗаписи - записывает набор записей регистра сведений Процедура ПриЗаписи(Отказ) Попытка НаборДанныеОС.Обновить(); Исключение Предупреждение("Не удалось сохранить""Данные ОС""!"); Отказ = Истина КонецПопытки; КонецПроцедуры
Листинг ю_9.11.
//ПослеЗаписи() - переустанавливает отбор после записи Процедура ПослеЗаписи() НаборДанныеОС.Отбор.ОС.Установить(Ссылка); КонецПроцедуры
Листинг ю_9.12.
//ПолеКартинкиНажатие - читает картинку в поле картинки Если Диалог.Выбрать() Тогда // Прочитаем картинку в ОП НоваяКартинка = Новый Картинка(Диалог.ПолноеИмяФайла); // и отобразим в форме: ЭлементыФормы.ПолеКартинки.Картинка =НоваяКартинка; Изображение = Новый ХранилищеЗначения(НоваяКартинка); КонецЕсли; КонецПроцедуры
Листинг ю_9.13.
// ПриОткрытии - действия в момент открытия формы Процедура ПриОткрытии() Если ЭтоНовый() Тогда // Заполним реквизиты нового объекта начальными значениями Фирма = Константы.ОсновнаяФирма.Получить(); УстановитьКод(); // запишем пустую картинку Изображение = Новый ХранилищеЗначения(Новый Картинка()); КонецЕсли; // Установим свойство видимость у элементов диалога перед его // Открытием ПриИзмененииГруппыОС(Неопределено); // отобразим картинку ЭлементыФормы.ПолеКартинки.Картинка = Изображение.Получить(); КонецПроцедуры
Листинг ю_9.14.
//Печать - печатает записи из справочника "ОсновныеСредства" // и срез записей из регистра сведений "ДанныеОС" Процедура Печать(Элемент) ТабДок = Новый ТабличныйДокумент; Макет = Справочники.ОсновныеСредства.ПолучитьМакет("Печать"); // Получение среза
ТаблицаСреза = РегистрыСведений.ДанныеОС.СрезПоследних(РабочаяДата); // Заголовок Секция = Макет.ПолучитьОбласть("Заголовок"); ТабДок.Вывести(Секция); // Шапка Секция = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Секция); Выборка = Справочники.ОсновныеСредства.ВыбратьИерархически(); Если Объект.ЭтоГруппа Тогда Секция = Макет.ПолучитьОбласть("Группа"); Секция.Параметры.Код = Объект.Код; Секция.Параметры.Наименование = Объект.Наименование; ТабДок.Вывести(Секция); Иначе Секция = Макет.ПолучитьОбласть("Элемент"); Секция.Параметры.Код = Объект.Код; Секция.Параметры.Наименование = Объект.Наименование; Секция.Параметры.Фирма = Объект.Фирма; Секция.Параметры.ГруппаОС = Объект.ГруппаОС; Секция.Параметры.ДатаВвода = Объект.ДатаВвода; Секция.Параметры.ДатаСписания = Объект.ДатаСписания; // Найдем строку содержащую ОС в таблице значений СтрокаСреза = ТаблицаСреза.Найти(Объект.Ссылка,"ОС"); Если СтрокаСреза<>Неопределено Тогда Секция.Параметры.БалансоваяСтоимость= СтрокаСреза.БалансоваяСтоимость; Листинг ю_9.15.
//ПечатьЗапросомНажатие - выполняет теже действия, что и //процедура Печать(...), но с использованием объекта запрос Листинг ю_9.16.
"ВЫБРАТЬ | | | | | | | Листинг ю_9.17.
// Выполняем запрос Запрос.УстановитьПараметр("Период",РабочаяДата); Результат = Запрос.Выполнить(); //Откроем выборку Выборка = Результат.Выбрать(); Иначе Секция = Макет.ПолучитьОбласть("Элемент"); Секция.Параметры.Заполнить(Выборка); ТабДок.Вывести(Секция); КонецЕсли; КонецЦикла;
Листинг ю_9.18.
//ПечатьЗапросомНажатие - выполняет теже действия, что и Процедура // Печать(...), но с использованием объекта запрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеОС.СрезПоследних(&Период) КАК ДанныеОС | | ПО ОсновныеСредства.Ссылка = ДанныеОС.ОС |УПОРЯДОЧИТЬ ПО | Ссылка ИЕРАРХИЯ";
// Выполняем запрос Запрос.УстановитьПараметр("Период",РабочаяДата); Результат = Запрос.Выполнить();
//Откроем выборку Выборка = Результат.Выбрать(); Листинг ю_10.1.
// Модуль документа "Поступление" // Обработчики событий от элементов формы // ФирмаПриИзменении(Элемент) - устанавливает новый номер // документа согласно префиксу фирмы КонецПроцедуры
// ДатаПриИзменении(Элемент) - изменяет дату курса, курс и // пересчитывает содержимое колонок "ЦенаУЕ" и "СуммаУЕ" по // новому курсу КонецПроцедуры
// ДатаКурсаПриИзменении(Элемент) - изменяет курс и // пересчитывает содержимое колонок "ЦенаУЕ" и "СуммаУЕ" по
// новому курсу КонецПроцедуры
// КурсПриИзменении(Элемент) - пересчитывает содержимое // колонок "ЦенаУЕ" и "СуммаУЕ" по новому курсу КонецПроцедуры
Процедура ПересчетСтроки() ТекСтрока=ЭлементыФормы.Список.ТекущаяСтрока; КонецЦикла КонецПроцедуры
Листинг ю_10.2.
Процедура ПересчетСтроки() ТекСтрока=ЭлементыФормы.Список.ТекущаяСтрока; КонецЦикла КонецПроцедуры
Листинг ю_10.3.
Если ЭтоНовый() Тогда Фирма = Константы.ОсновнаяФирма.Получить(); УстановитьНовыйНомер(Фирма.Префикс+"-"); Строка=РегистрыСведений.Курсы.ПолучитьПоследнее(ДатаКурса); Курс=Строка.Курс; ДатаКурса=Дата; КонецЕсли КонецПроцедуры
Листинг ю_10.4.
//ОбновлениеОтображения() - отображает итоговую строку в // "подвале" формы Листинг ю_10.5.
Листинг ю_10.6.
Листинг ю_11.1.
КонецПроцедуры НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода))); НастройкаПериода.РедактироватьКакИнтервал = Истина; НастройкаПериода.РедактироватьКакПериод = Истина; НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период; НастройкаПериода.Редактировать(); НачПериода = НастройкаПериода.ПолучитьДатуНачала(); КонПериода = НастройкаПериода.ПолучитьДатуОкончания(); КонецПроцедуры
Листинг ю_11.2.
Листинг ю_11.3.
//Формируем текст запроса Запрос.Текст = "ВЫБРАТЬ |Курсы.Период КАК Дата, |Курсы.Курс КАК Значение |ИЗ РегистрСведений.Курсы КАК Курсы |ГДЕ Курсы.Период МЕЖДУ &НачПериода И &КонПериода |УПОРЯДОЧИТЬ ПО Дата УБЫВ"; Запрос.УстановитьПараметр("НачПериода", НачПериода); Запрос.УстановитьПараметр("КонПериода", КонПериода); //И выполняем запрос Результат = Запрос.Выполнить();
Листинг ю_11.4.
Процедура ПриОткрытии()
Если НачПериода = '0001-01-01' и КонПериода='0001-01-01'
Тогда НачПериода = ДобавитьМесяц(РабочаяДата, -3);
КонПериода = РабочаяДата;
КонецЕсли;
КонецПроцедуры
Листинг ю_11.5.
//КнопкаСформироватьНажатие(Элемент) - формирует //отчет с использованием запроса Листинг ю_11.6.
// Модуль объекта "Отчет.КурсыУЕ" КонецПроцедуры
Листинг ю_11.7.
//СформироватьОтчетКурсыУЕ() - пример формирования отчета // программным путем Листинг ю_11.8.
Листинг П_А.1
//Модуль приложения //ПриНачалеРаботыСистемы() - проверяет время входа в систему Листинг П_А.2
// Модуль приложения //--------------------------------------------------------- // Раздел переменных: Перем НачалоРаботы; //--------------------------------------------------------- //Раздел процедур и функций: //ПриНачалеРаботыСистемы() - проверяет время входа в систему КонецПроцедуры
Листинг П_А.3
//Общий модуль служебных функций //ИнтервалСтр(Начало,Конец) - возвращает продолжительность //интервала времени строкой: КонецФункции
Листинг П_А.4 // Модуль приложения //--------------------------------------------------------- // Раздел переменных: Перем НачалоРаботы Экспорт; //--------------------------------------------------------- //Раздел процедур и функций: //Обработчики событий: //ПриНачалеРаботыСистемы() - проверяет время входа в систему КонецПроцедуры //ПередЗавершениемРаботыСистемы(Отказ) - запрашивает // подтверждение о выходе из системы КонецПроцедуры //--------------------------------------------------------- // раздел основной программы: НачалоРаботы = ТекущаяДата();
Листинг П_В.1
ПечатьКурсаУЕ():
//ПечатьКурсаУЕ()2 - печать курса УЕ // формирует отчет без использования макета КонецПроцедуры Фрагменты листингов, приведенных в книге
Листинг ю_2.1
// Модуль приложения //ПримерыОбращенияККонстантам() - содержит примеры //обращения к Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычислить, когда этот... Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|