Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Процедура ПриНачалеРаботыСистемы ()



Процедура ПримерыОбращенияККонстантам ()

// Если это первый запуск конфигурации, то константа

// содержит в качестве значения 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; Просмотров: 291; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.271 с.)
Главная | Случайная страница | Обратная связь