При автоматизации учета в крупных объектах размещения, таких как санатории или гостиницы, часто возникает специфическая задача: необходимо точно знать, какие ТМЦ (мебель, техника, инвентарь) находятся в конкретном номере. В типовой конфигурации 1С:Управление производственным предприятием (УПП) основной аналитикой для материалов в эксплуатации являются Подразделение и ФизическоеЛицо (МОЛ). Создание отдельного подразделения на каждый номер (которых может быть несколько сотен) — это путь к катастрофическому падению производительности при расчете себестоимости, так как подразделение в УПП является ключевым разделителем учета.
Разберем, как реализовать детальный учет по номерам, сохранив при этом прозрачность отчетности и быстродействие системы. Рассмотрим несколько вариантов: от простых организационных приемов до технических доработок.
Это самый быстрый способ реализации, не требующий изменения конфигурации. В УПП за каждым материалом в эксплуатации закрепляется Материально-ответственное лицо (МОЛ), которое выбирается из справочника ФизическиеЛица. Мы можем использовать этот факт для подмены сущностей.
Рассмотрим шаги реализации:
ФизическиеЛица создадим отдельную группу (папку), например, "Номерной фонд".Передача материалов в эксплуатацию в колонке "Физ. лицо" будем указывать конкретный номер.Преимущества: Типовая "Ведомость по материалам в эксплуатации" сразу начнет показывать остатки в разрезе номеров. Вам не нужно писать ни одной строчки кода.
Недостатки: Если за номер реально отвечает конкретная горничная (МОЛ), то в системе вы теряете связь с реальным человеком. Чтобы решить эту проблему, можно использовать наименования вида "Иванова (Номер 301)", но это усложняет поиск. Также это может вызвать вопросы у кадровой службы, если справочник физлиц используется ими для регламентированного учета.
В УПП во многих регистрах, включая учет затрат и материалы в эксплуатации, присутствует измерение Проект. Если ваше предприятие не использует проектный учет по прямому назначению, мы можем задействовать эту аналитику под нужды гостиничного фонда.
Проанализируем этот подход:
Проекты в "Номера комнат" (через свойства в конфигураторе или просто административным распоряжением).Проект.Этот метод считается более "чистым", так как не смешивает людей и помещения, однако поле "Проект" может быть доступно не во всех печатных формах без доработки.
Если требуется сохранить и реального МОЛ, и подразделение "Санаторий", и при этом видеть номер комнаты, необходимо внести изменения в структуру метаданных. Это позволит строить отчеты максимально корректно.
Разберем по шагам, что нужно дописать:
НомернойФонд. Желательно сделать его иерархическим: Корпус -> Этаж -> Номер.МатериалыВЭксплуатации и ПартииМатериаловВЭксплуатации новое измерение ОбъектРазмещения с типом СправочникСсылка.НомернойФонд.ПередачаМатериаловВЭксплуатациюПеремещениеМатериаловВЭксплуатацииСписаниеМатериаловИзЭксплуатацииОбработкаПроведения для этих документов. В обработчике подписки пропишем трансляцию реквизита из табличной части в движения регистра.Пример кода для заполнения движений в подписке на событие:
Процедура ПриПроведенииДокументаТМЦ(Источник, Отказ, РежимПроведения) Экспорт
Для Каждого НаборЗаписей Из Источник.Движения Цикл
ИмяРегистра = НаборЗаписей.Метаданные().Имя;
Если ИмяРегистра = "МатериалыВЭксплуатации" Тогда
НаборЗаписей.Прочитать(); // Читаем сформированные типовым механизмом движения
Для Каждого Запись Из НаборЗаписей Цикл
// Находим соответствующую строку в ТЧ документа по номеру строки или ключу связи
СтрокаТЧ = Источник.Материалы.Найти(Запись.Номенклатура, "Номенклатура");
Если СтрокаТЧ <> Неопределено Тогда
Запись.ОбъектРазмещения = СтрокаТЧ.ОбъектРазмещения;
КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Важно: После добавления измерения типовая Ведомость по материалам в эксплуатации (построенная на СКД) автоматически предложит ОбъектРазмещения в списке доступных полей для группировки и отбора.
Если материалов очень много и нужно отслеживать судьбу каждого конкретного телевизора или холодильника (инвентарный учет), рассмотрим использование Характеристик номенклатуры.
Проанализируем ситуацию: для номенклатуры "Телевизор Samsung" можно создать характеристики, соответствующие номерам: "Находится в 101", "Находится в 102". При перемещении телевизора из номера в номер придется делать документ Комплектация номенклатуры или Перемещение материалов в эксплуатации (если учет позволяет менять характеристику).
Однако этот способ менее удобен для массовых материалов (полотенца, стаканы), так как порождает огромное количество элементов в справочнике характеристик. Он подходит только для дорогостоящего имущества.
Иногда финансовому директору не важен пономерной учет в бухгалтерском балансе, но важен контроль для инвентаризации. В этом случае мы можем оставить в УПП все ТМЦ на одном подразделении и одном МОЛ, а детальный учет вынести во внешний регистр сведений.
Разберем архитектуру такого решения:
МестонахождениеИнвентаря (Измерения: Номенклатура, ИнвентарныйНомер; Ресурсы: НомерКомнаты, ДатаУстановки).Выбор метода зависит от квалификации программиста и требований бизнеса:
Подразделения для учета комнат в УПП. Это приведет к тому, что расчет себестоимости будет выполняться сутками из-за сложности графа распределения затрат.Внедрение любого из этих методов позволит вам в любой момент сформировать отчет и увидеть, что в номере 205 числится два стула, один телевизор и три комплекта постельного белья, что существенно упростит проведение ревизий в санатории.