2026-04-04 08:41:14 +03:00

187 lines
8.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#Область ПрограммныйИнтерфейс
// Получить единицу измерения.
//
// Параметры:
// Номенклатура - СправочникСсылка.Номенклатура
//
// Возвращаемое значение:
// СправочникСсылка.ЕдиницыИзмерений
Функция ПолучитьЕдиницуИзмерения(Номенклатура) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Возврат Выборка.ЕдиницаИзмерения;
КонецФункции
// Рассчет суммы ТЧ.
//
// Параметры:
// ТабЧасть - ТабличнаяЧасть
//
// Возвращаемое значение:
// Число - Рассчет суммы ТЧ
Функция РассчетСуммыТЧ(ТабЧасть) Экспорт
Сумма = 0;
Для каждого Строка Из ТабЧасть Цикл
Сумма = Сумма + Строка.Сумма;
КонецЦикла;
Возврат Сумма;
КонецФункции // РассчетСуммыТЧ()
// Заполнить список активных счетов.
//
// Возвращаемое значение:
// СписокЗначений - Заполненый список активных счетов
// @skip-check doc-comment-collection-item-type
Функция ЗаполнитьСписокАктивныхСчетов() Экспорт
СписокЗначений = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДенежныеСредстваОстатки.Счет КАК Ссылка
|ИЗ
| РегистрНакопления.ДенежныеСредства.Остатки КАК ДенежныеСредстваОстатки
|
|СГРУППИРОВАТЬ ПО
| ДенежныеСредстваОстатки.Счет
|
|УПОРЯДОЧИТЬ ПО
| ДенежныеСредстваОстатки.Счет.Наименование";
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
СписокЗначений.Добавить("Нет денег на счетах");
Возврат СписокЗначений;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
СписокЗначений.Добавить(Выборка.Ссылка);
КонецЦикла;
Возврат СписокЗначений;
КонецФункции // ЗаполнитьСписокЗначений()
// Получить цену комм услуги.
//
// Параметры:
// Период - Дата
// Номенклатура - СправочникСсылка.Номенклатура
//
// Возвращаемое значение:
// Число - Получить цену комм услуги
Функция ПолучитьЦенуКоммУслуги(Период, Номенклатура) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныКоммунальныхПлатежейСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныКоммунальныхПлатежей.СрезПоследних(&Период, Номенклатура = &Номенклатура) КАК ЦеныКоммунальныхПлатежейСрезПоследних";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("Период", Период);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат 0;
Иначе
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Возврат Выборка.Цена;
КонецЕсли;
КонецФункции // ПолучитьЦенуКоммУслуги()
// Вернуть число месяца.
//
// Параметры:
// Месяц - Строка
//
// Возвращаемое значение:
// Произвольный - Вернуть число месяца
Функция ВернутьЧислоМесяца(Месяц) Экспорт
Месяцы = Новый Структура;
Месяцы.Вставить("Январь", 1);
Месяцы.Вставить("Февраль", 2);
Месяцы.Вставить("Март", 3);
Месяцы.Вставить("Апрель", 4);
Месяцы.Вставить("Май", 5);
Месяцы.Вставить("Июнь", 6);
Месяцы.Вставить("Июль", 7);
Месяцы.Вставить("Август", 8);
Месяцы.Вставить("Сентябрь", 9);
Месяцы.Вставить("Октябрь", 10);
Месяцы.Вставить("Ноябрь", 11);
Месяцы.Вставить("Декабрь", 12);
Для каждого Элементы Из Месяцы Цикл
Если Элементы.Ключ = Строка(Месяц) Тогда
Возврат Элементы.Значение;
КонецЕсли;
КонецЦикла;
КонецФункции // ВернутьЧислоМесяца()
// Заполнить список счетов.
//
// Возвращаемое значение:
// СписокЗначений - Заполнить список счетов
//@skip-check doc-comment-collection-item-type
Функция ЗаполнитьСписокСчетов() Экспорт
СписокЗначений = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Счета.Ссылка КАК Ссылка
|ИЗ
| Справочник.Счета КАК Счета
|ГДЕ
| НЕ Счета.ПометкаУдаления";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
СписокЗначений.Добавить(Выборка.Ссылка);
КонецЦикла;
Возврат СписокЗначений;
КонецФункции
// Добавить запись в регистр цен ком услуг.
//
// Параметры:
// Период - Дата
// Номенклатура - СправочникСсылка.Номенклатура
// Цена - Число
Процедура ДобавитьЗаписьВРегистрЦенКомУслуг(Период, Номенклатура, Цена) Экспорт
НаборЗаписей = РегистрыСведений.ЦеныКоммунальныхПлатежей.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Период.Установить(Период);
НаборЗаписей.Отбор.Номенклатура.Установить(Номенклатура);
Запись = НаборЗаписей.Добавить();
Запись.Период = НачалоМесяца(Период);
Запись.Номенклатура = Номенклатура;
Запись.Цена = Цена;
НаборЗаписей.Записать(Истина);
КонецПроцедуры
#КонецОбласти