Файл: СправочникиМенеджер доступ к определенным в конфигурации справочникам.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.10.2023

Просмотров: 30

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


 

НоваяЗапись.Записать();

 

Иначе

Сообщить("НЕ найдена валюта");

КонецЕсли;

 

//2. Создание набора записей

Если НЕ ВалютаUSD.Пустая() Тогда

 

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();

НаборЗаписей.Отбор.Валюта.Установить(ВалютаUSD);

НаборЗаписей.Отбор.Период.Установить(НачалоДня(ТекущаяДата()) - 1);

 

//добавление записи в набор

НоваяЗапись = НаборЗаписей.Добавить();

НоваяЗапись.Период = НачалоДня(ТекущаяДата()) - 1;

НоваяЗапись.Валюта = ВалютаUSD;

НоваяЗапись.Курс = 80;

НоваяЗапись.Кратность = 1;

 

НаборЗаписей.Записать();

 

КонецЕсли;

 

//3. Заполнение регистра сведений

ТекДата = НачалоМесяца(ТекущаяДата());

КонДата = КонецМесяца(ТекущаяДата());

Пока ТекДата <= КонДата Цикл

 

НоваяЗапись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();

НоваяЗапись.Период = ТекДата;

НоваяЗапись.Валюта = ВалютаUSD;

НоваяЗапись.Курс = 70 + ДеньНедели(ТекДата);

НоваяЗапись.Кратность = 1;

 

НоваяЗапись.Записать();

 

ТекДата = ТекДата + 86400;

КонецЦикла;

 

КонецПроцедуры

 

&НаСервере

Процедура ПоискЗаписейНаСервере()

 

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840");

 

Если ВалютаUSD.Пустая() Тогда

Сообщить("Не найдена валюта");

Возврат;

КонецЕсли;

 

СтруктураПоиска = Новый Структура("Валюта", ВалютаUSD);

Результат = РегистрыСведений.КурсыВалют.Получить('20211004', СтруктураПоиска);

Сообщить("" + Результат.Курс + " за " + Результат.Кратность + " ед.");

 

КонецПроцедуры

 

Важно! Методы ПолучитьПоследнее и ПолучитьПервое (СрезПервых и СрезПоследних) доступны только в периодическом регистре

 

&НаСервере

Процедура ПолучитьПоследнееНаСервере()

 

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840");

 

Если ВалютаUSD.Пустая() Тогда

Сообщить("Не найдена валюта");

Возврат;

КонецЕсли;

 

СтруктураПоиска = Новый Структура("Валюта", ВалютаUSD);

Результат = РегистрыСведений.КурсыВалют.ПолучитьПоследнее('20211004', СтруктураПоиска);

Сообщить("" + Результат.Курс + " за " + Результат.Кратность + " ед.");

 

КонецПроцедуры // ()

 

&НаСервере

Процедура ПолучитьПервоеНаСервере()

 

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840");

 

Если ВалютаUSD.Пустая() Тогда

Сообщить("Не найдена валюта");

Возврат;

КонецЕсли;

 

СтруктураПоиска = Новый Структура("Валюта", ВалютаUSD);


Результат = РегистрыСведений.КурсыВалют.ПолучитьПервое('20211004', СтруктураПоиска);

Сообщить("" + Результат.Курс + " за " + Результат.Кратность + " ед.");

 

КонецПроцедуры

 

&НаСервере

Процедура ВыборЗаписейНаСервере()

 

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840");

 

Если ВалютаUSD.Пустая() Тогда

Сообщить("Не найдена валюта");

Возврат;

КонецЕсли;

 

СтруктураПоиска = Новый Структура("Валюта", ВалютаUSD);

 

ВыборкаКурсы = РегистрыСведений.КурсыВалют.Выбрать('20211005', '20211010', СтруктураПоиска);

Пока ВыборкаКурсы.Следующий() Цикл

Сообщить("" + ВыборкаКурсы.Период + " - " + ВыборкаКурсы.Курс);

КонецЦикла;

 

КонецПроцедуры

 



 

&НаСервере

Процедура СрезПоследнихНаСервере()

 

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840");

 

Если ВалютаUSD.Пустая() Тогда

Сообщить("Не найдена валюта");

Возврат;

КонецЕсли;

 

СтруктураОтбора = Новый Структура("Валюта", ВалютаUSD);

КурсыUSD = РегистрыСведений.КурсыВалют.СрезПоследних('20211010', СтруктураОтбора);

Для каждого ТекСтрока Из КурсыUSD Цикл

Сообщить("" + ТекСтрока.Период + " - " + ТекСтрока.Курс);

КонецЦикла;

 

КонецПроцедуры

 

&НаСервере

Процедура СрезПервыхНаСервере()

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840");

 

Если ВалютаUSD.Пустая() Тогда

Сообщить("Не найдена валюта");

Возврат;

КонецЕсли;

 

СтруктураОтбора = Новый Структура("Валюта", ВалютаUSD);

КурсыUSD = РегистрыСведений.КурсыВалют.СрезПервых('20211010', СтруктураОтбора);

Для каждого ТекСтрока Из КурсыUSD Цикл

Сообщить("" + ТекСтрока.Период + " - " + ТекСтрока.Курс);

КонецЦикла;

КонецПроцедуры

 

&НаСервере

Процедура ИзменениеЗаписейНаСервере()

 

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840");

 

Если ВалютаUSD.Пустая() Тогда

Сообщить("Не найдена валюта");

Возврат;

КонецЕсли;

 

//создаем пустой набор записей

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();

 

//накладываем отбор по валюте

НаборЗаписей.Отбор.Валюта.Установить(ВалютаUSD);



 

//читаем данные из базы в набор записей

НаборЗаписей.Прочитать();

 

//меняем записи в наборе записей

Для каждого Запись Из НаборЗаписей Цикл

Запись.Курс = Запись.Курс + 1;

КонецЦикла;

 

//записываем данные в базу

НаборЗаписей.Записать();

 

КонецПроцедуры

 

&НаСервере

Процедура УдалениеЗаписейНаСервере()

 

//удаление записей по доллару с 01.10 по 05.10

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("840");

 

Если ВалютаUSD.Пустая() Тогда

Сообщить("Не найдена валюта");

Возврат;

КонецЕсли;

 

//создаем пустой набор записей

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();

 

//устанавливаем отбор по валюте

НаборЗаписей.Отбор.Валюта.Установить(ВалютаUSD);

 

//читаем данные из базы в набор записей

НаборЗаписей.Прочитать();

 

МассивКУдалению = Новый Массив;

Для каждого Запись Из НаборЗаписей Цикл

Если Запись.Период >= '20211001' И Запись.Период <= '20211005' Тогда

МассивКУдалению.Добавить(Запись);

КонецЕсли;

КонецЦикла;

 

Для каждого УдаляемаяЗапись Из МассивКУдалению Цикл

НаборЗаписей.Удалить(УдаляемаяЗапись);

КонецЦикла;

 

НаборЗаписей.Записать();

 

КонецПроцедуры

 

&НаСервере

Процедура ОчисткаРегистраНаСервере()

 

//создаем пустой набор записей

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();

 

//записываем его в регистр

НаборЗаписей.Записать();

 

КонецПроцедуры