Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Процедура ПриНачалеРаботыСистемы ()Стр 1 из 11Следующая ⇒
Процедура ПримерыОбращенияККонстантам () // Если это первый запуск конфигурации, то константа // содержит в качестве значения 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 Умолчанию- // выполнение операции, Истина – отказ От операции. // Замещение (Булево) режим записи набора (Ложь-по умолчанию- Дописывание //записи, Истина – замещение записи.
Если Отказ Тогда Сообщить ( "Запись не выполнена!!!" , СтатусСообщения . ОченьВажное ); КонецЕсли; КонецПроцедуры //Проверьте работу процедуры путем ввода новой или редактирования //существующей записи в регистре сведений "Курсы".
Листинг ю_4.1
Иначе Элемент . Параметры . Заполнить ( Выборка ); ТабДок . Вывести ( Элемент ); КонецЕсли; КонецЦикла; ТабДок . ОтображатьСетку = Ложь ; ТабДок . Защита = Ложь ; ТабДок . ТолькоПросмотр = Истина ; ТабДок . ОтображатьЗаголовки = Ложь ; ТабДок . Показать (); //}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК КонецПроцедуры
Листинг ю_7.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.18.
//ПечатьЗапросомНажатие - выполняет теже действия, что и Процедура // Печать(...), но с использованием объекта запрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеОС.СрезПоследних(&Период) КАК ДанныеОС | | ПО ОсновныеСредства.Ссылка = ДанныеОС.ОС |УПОРЯДОЧИТЬ ПО | Ссылка ИЕРАРХИЯ" ;
// Выполняем запрос Запрос . УстановитьПараметр ( "Период" ,РабочаяДата ); Результат = Запрос . Выполнить ();
//Откроем выборку Выборка = Результат . Выбрать (); КонецПроцедуры
// ДатаПриИзменении(Элемент) - изменяет дату курса, курс и // пересчитывает содержимое колонок "ЦенаУЕ" и "СуммаУЕ" по // новому курсу КонецПроцедуры
// ДатаКурсаПриИзменении(Элемент) - изменяет курс и // пересчитывает содержимое колонок "ЦенаУЕ" и "СуммаУЕ" по
// новому курсу КонецПроцедуры
// КурсПриИзменении(Элемент) - пересчитывает содержимое // колонок "ЦенаУЕ" и "СуммаУЕ" по новому курсу КонецПроцедуры
Процедура ПересчетСтроки () ТекСтрока = ЭлементыФормы . Список . ТекущаяСтрока ; КонецЦикла КонецПроцедуры
Листинг ю_10.2.
Процедура ПересчетСтроки() ТекСтрока=ЭлементыФормы.Список.ТекущаяСтрока; КонецЦикла КонецПроцедуры
Листинг ю_10.3.
Если ЭтоНовый( ) Тогда Фирма = Константы.ОсновнаяФирма.Получить(); УстановитьНовыйНомер(Фирма.Префикс+"-"); Строка=РегистрыСведений.Курсы.ПолучитьПоследнее(ДатаКурса); Курс=Строка.Курс; ДатаКурса=Дата; КонецЕсли КонецПроцедуры
Листинг ю_10.4.
//ОбновлениеОтображения() - отображает итоговую строку в // "подвале" формы КонецПроцедуры НачПериода , ?( КонПериода = '0001-01-01' , КонПериода , КонецДня ( КонПериода ))); НастройкаПериода . РедактироватьКакИнтервал = Истина; НастройкаПериода . РедактироватьКакПериод = Истина; НастройкаПериода . ВариантНастройки = ВариантНастройкиПериода . Период ; НастройкаПериода . Редактировать (); НачПериода = НастройкаПериода . ПолучитьДатуНачала (); КонПериода = НастройкаПериода . ПолучитьДатуОкончания (); КонецПроцедуры
Листинг ю_11.2.
Процедура ПриОткрытии()
Если НачПериода = '0001-01-01' и КонПериода='0001-01-01'
Тогда НачПериода = ДобавитьМесяц(РабочаяДата, -3);
КонПериода = РабочаяДата;
КонецЕсли;
КонецПроцедуры
Листинг ю_11.5.
//КнопкаСформироватьНажатие(Элемент) - формирует //отчет с использованием запроса КонецПроцедуры
Листинг ю_11.7.
//СформироватьОтчетКурсыУЕ() - пример формирования отчета // программным путем КонецПроцедуры
Листинг П_А.3
//Общий модуль служебных функций //ИнтервалСтр(Начало,Конец) - возвращает продолжительность //интервала времени строкой: КонецФункции
Листинг П_А.4
// Модуль приложения //--------------------------------------------------------- // Раздел переменных: Перем НачалоРаботы Экспорт; //--------------------------------------------------------- //Раздел процедур и функций: //Обработчики событий: //ПриНачалеРаботыСистемы() - проверяет время входа в систему КонецПроцедуры //ПередЗавершениемРаботыСистемы(Отказ) - запрашивает // подтверждение о выходе из системы КонецПроцедуры //--------------------------------------------------------- // раздел основной программы: НачалоРаботы = ТекущаяДата ();
Листинг П_В.1
ПечатьКурсаУЕ () :
//ПечатьКурсаУЕ()2 - печать курса УЕ // формирует отчет без использования макета КонецПроцедуры
Процедура ПримерыОбращенияККонстантам () // Если это первый запуск конфигурации, то константа // содержит в качестве значения 1 января 0001 года. Если Константы . ДатаРегистрации . Получить ()= '00010101' Тогда // Тогда установим 1 января текущего года Константы . ДатаРегистрации . Установить ( НачалоГода ( ТекущаяДата ())); КонецЕсли; // распечатаем значения констант: Сообщить( "Датарегистрации:" + Константы . ДатаРегистрации . Получить ()+ "." ); Сообщить( "Наименованиеорганизации:" + Константы . НаименованиеОрганизации . Получить ()+"."); КонецПроцедуры
Процедура ПриНачалеРаботыСистемы () //Примеры: ПримерыОбращенияККонстантам (); КонецПроцедуры
Листинг ю_2.2
//ПримерыОбращенияККонстантам() //- содержит примеры обращения к Константам Процедура ПримерыОбращенияККонстантам () //Создадим набор констант: НаборКонстант = Константы.СоздатьНабор (" ДатаРегистрации,НаименованиеОрганизации "); НаборКонстант.Прочитать (); //Прочитаем набор // Если это первый запуск конфигурации, то константа // содержит в качестве значения 1 января 0001 года. Если НаборКонстант.ДатаРегистрации =' 00010101 ' Тогда // Тогда установим 1 января текущего года НаборКонстант.ДатаРегистрации = НачалоГода ( ТекущаяДата ()); НаборКонстант.Записать (); //Запишем набор КонецЕсли; // распечатаем значения констант: Сообщить(" Дата регистрации: "+ НаборКонстант.ДатаРегистрации +" . "); Сообщить(" Наименование организации: "+ НаборКонстант.НаименованиеОрганизации +" . "); КонецПроцедуры
Листинг ю_3.1
Процедура ПримерыОбращенияКРегиструСведений () // Найдем |
Последнее изменение этой страницы: 2019-04-21; Просмотров: 295; Нарушение авторского права страницы