#Область ПрограммныйИнтерфейс // Получить единицу измерения. // // Параметры: // Номенклатура - СправочникСсылка.Номенклатура // // Возвращаемое значение: // СправочникСсылка.ЕдиницыИзмерений Функция ПолучитьЕдиницуИзмерения(Номенклатура) Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", Номенклатура); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Выборка.Следующий(); Возврат Выборка.ЕдиницаИзмерения; КонецФункции // Рассчет суммы ТЧ. // // Параметры: // ТабЧасть - ТабличнаяЧасть // // Возвращаемое значение: // Число - Рассчет суммы ТЧ Функция РассчетСуммыТЧ(ТабЧасть) Экспорт Сумма = 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 Функция ЗаполнитьСписокСчетов() Экспорт СписокЗначений = Новый СписокЗначений; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Счета.Ссылка КАК Ссылка |ИЗ | Справочник.Счета КАК Счета |ГДЕ | НЕ Счета.ПометкаУдаления"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл СписокЗначений.Добавить(Выборка.Ссылка); КонецЦикла; Возврат СписокЗначений; КонецФункции // Добавить запись в регистр цен ком услуг. // // Параметры: // Период - Дата // Номенклатура - СправочникСсылка.Номенклатура // Цена - Число Процедура ДобавитьЗаписьВРегистрЦенКомУслуг(Период, Номенклатура, Цена) Экспорт НаборЗаписей = РегистрыСведений.ЦеныКоммунальныхПлатежей.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Период.Установить(Период); НаборЗаписей.Отбор.Номенклатура.Установить(Номенклатура); Запись = НаборЗаписей.Добавить(); Запись.Период = НачалоМесяца(Период); Запись.Номенклатура = Номенклатура; Запись.Цена = Цена; НаборЗаписей.Записать(Истина); КонецПроцедуры #КонецОбласти