Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Фрагменты листингов, приведенных в книге





Фрагменты листингов, приведенных в книге

 

 

Листинг ю_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

 

// Модуль приложения

//ПримерыОбращенияККонстантам() - содержит примеры //обращения к









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.