База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как учитывать услуги в справочнике для экзамена Специалист?
- В этой теме 1 ответ, 2 участника, последнее обновление 15 минут назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
23 октября 2026 в 16:14 #38912
Но в задаче написано, что в приходных накладных услуги, естественно, не отображаются. Но в расходных они есть в отдельной табличной части. Получается, что нужно создать отдельный справочник «услуги»? Или запихать их в «номенклатуру», сделав справочник иерархическим? Как лучше для экзамена Специалист?
-
23 октября 2026 в 16:14 #38913
Для экзамена «Специалист» лучше использовать один справочник
Номенклатура, в котором будут храниться и товары, и услуги. Разделение выполнять не только визуально, а через отдельный реквизит, напримерВидНоменклатуры.Отдельный справочник
Услугив этой задаче создавать не нужно, если в условии прямо не сказано, что услуги должны иметь самостоятельный справочник.## Рекомендуемая структура
### Справочник
НоменклатураРеквизиты:
1С (Код)12НаименованиеВидНоменклатурыРеквизит
ВидНоменклатурыможно сделать перечислением:1С (Код)12ТоварУслугаСам справочник можно сделать иерархическим, но иерархия нужна прежде всего для удобства работы:
1С (Код)12345678ТоварыКанцелярские товарыХозяйственные товарыУслугиДоставкаМонтажКонсультацияОднако для алгоритмов проведения нельзя полагаться только на группы
ТоварыиУслуги. Для проверки типа нужно использовать реквизитВидНоменклатуры.## Почему не стоит создавать отдельный справочник
УслугиЕсли сделать два справочника:
1С (Код)12НоменклатураУслугито появятся лишние сложности:
— в разных табличных частях будут реквизиты разных типов;
— придется отдельно получать наименование товара и услуги;
— усложнятся отчеты по номенклатуре;
— сложнее будет хранить общие характеристики;
— появится риск дублирования логики;
— при необходимости общего отчета товары и услуги придется объединять;
— код документов станет менее универсальным.Например, табличная часть
Товарыбудет содержать:1С (Код)1234НоменклатураТовараКоличествоЦенаСуммаА табличная часть
Услуги:1С (Код)1234УслугаКоличествоЦенаСуммаЭто возможно, но для учебной экзаменационной конфигурации обычно является неоправданным усложнением.
## Почему услуги могут находиться в справочнике, даже если их нет в приходной накладной
Справочник описывает не только то, что закупается. Он содержит все позиции, которые используются в учете:
— товары закупаются и продаются;
— услуги могут оказываться клиентам;
— услуги могут отсутствовать в складском учете;
— услуги могут использоваться только в расходной накладной.Например:
1С (Код)1234Ручка ТоварБумага ТоварДоставка УслугаМонтаж оборудования УслугаПриходная накладная будет использовать только элементы с видом
Товар.Расходная накладная будет иметь две табличные части:
1С (Код)12ТоварыУслугиВ табличной части
Товарывыбираются товары, а в табличной частиУслугивыбираются услуги.## Структура расходной накладной
### Табличная часть
ТоварыРеквизиты:
1С (Код)1234НоменклатураКоличествоЦенаСумма### Табличная часть
УслугиРеквизиты:
1С (Код)1234НоменклатураКоличествоЦенаСуммаОбе колонки
Номенклатурамогут иметь один и тот же тип:1С (Код)1СправочникСсылка.НоменклатураОтличие будет в назначении табличной части:
— из
Товарыдолжны выбираться элементы с видомТовар;
— изУслугидолжны выбираться элементы с видомУслуга.## Как ограничить выбор товаров и услуг
Для экзамена можно сделать проверку в обработчиках изменения строки или при проведении документа.
Например, при проведении расходной накладной:
1С (Код)12345678910111213141516171819202122232425262728293031323334Для Каждого ТекСтрокаТовары Из Товары ЦиклЕсли ТекСтрокаТовары.Номенклатура.ВидНоменклатуры<> Перечисления.ВидыНоменклатуры.Товар ТогдаСообщить("В табличной части ""Товары"" указана не товарная позиция: "+ Строка(ТекСтрокаТовары.Номенклатура));Отказ = Истина;Продолжить;КонецЕсли;КонецЦикла;Для Каждого ТекСтрокаУслуги Из Услуги ЦиклЕсли ТекСтрокаУслуги.Номенклатура.ВидНоменклатуры<> Перечисления.ВидыНоменклатуры.Услуга ТогдаСообщить("В табличной части ""Услуги"" указана не услуга: "+ Строка(ТекСтрокаУслуги.Номенклатура));Отказ = Истина;Продолжить;КонецЕсли;КонецЦикла;Если реквизит называется иначе, например
ТипНоменклатуры, в коде нужно использовать фактическое имя реквизита.## Проведение приходной накладной
Приходная накладная содержит только табличную часть
Товары.Поэтому при проведении записываются движения в регистр
ОстаткиНоменклатуры:1С (Код)1234567891011121314151617181920212223242526272829303132Процедура ОбработкаПроведения(Отказ, Режим)Движения.ОстаткиНоменклатуры.Записывать = Истина;Для Каждого ТекСтрока Из Товары ЦиклЕсли ТекСтрока.Номенклатура.ВидНоменклатуры<> Перечисления.ВидыНоменклатуры.Товар ТогдаОтказ = Истина;Сообщить("В приходной накладной можно указывать только товары: "+ Строка(ТекСтрока.Номенклатура));Продолжить;КонецЕсли;Движение = Движения.ОстаткиНоменклатуры.Добавить();Движение.ВидДвижения =ВидДвиженияНакопления.Приход;Движение.Период = Дата;Движение.Номенклатура = ТекСтрока.Номенклатура;Движение.Партия = Ссылка;Движение.Количество = ТекСтрока.Количество;Движение.Стоимость = ТекСтрока.Сумма;КонецЦикла;КонецПроцедурыЕсли в приходной накладной физически существует только табличная часть
Товары, проверку вида номенклатуры можно оставить как контроль целостности.## Проведение расходной накладной
По табличной части
Товарывыполняется списание из регистра остатков.По табличной части
Услугидвижения в регистрОстаткиНоменклатурыне формируются:1С (Код)12345678910Для Каждого ТекСтрокаТовары Из Товары Цикл// Списание товара из регистра остатков// Здесь применяется алгоритм FIFOКонецЦикла;// Табличная часть Услуги не обрабатывается// в регистре складских остатков.Услуги могут участвовать в других регистрах или отчетах, например в регистре продаж:
1С (Код)12345ПродажиНоменклатураКоличествоВыручкаВидНоменклатурыНо в регистр складских остатков услуги записывать не нужно.
## Нужно ли делать иерархический справочник
Иерархический справочник сделать можно. Для экзамена это выглядит нормально, особенно если в условии требуется классификация номенклатуры.
Например:
1С (Код)123456789ТоварыРучкиКарандашиБумагаУслугиДоставкаМонтажРемонтНо иерархия не заменяет реквизит
ВидНоменклатуры.Нежелательный вариант:
1С (Код)123Если Номенклатура.Родитель = ГруппаУслуг Тогда// это услугаКонецЕсли;Проблемы такого подхода:
— элемент можно переместить в другую группу;
— группа может иметь несколько уровней вложенности;
— проверка становится зависимой от структуры справочника;
— бизнес-тип позиции определяется косвенно.Правильнее:
1С (Код)123456Если Номенклатура.ВидНоменклатуры =Перечисления.ВидыНоменклатуры.Услуга Тогда// это услугаКонецЕсли;Группы тогда используются только для навигации и удобства пользователя.
## Что лучше выбрать именно для экзамена
Оптимальный вариант:
1С (Код)12345Справочник НоменклатураИерархический: да, если нужна группировкаРеквизит ВидНоменклатуры:ТоварУслугаДокументы:
1С (Код)123456ПриходнаяНакладнаяТоварыРасходнаяНакладнаяТоварыУслугиРегистр:
1С (Код)12345ОстаткиНоменклатурыИзмерение НоменклатураИзмерение ПартияРесурс КоличествоРесурс СтоимостьЛогика:
1С (Код)123456Приходная накладная:движения только по товарамРасходная накладная:товары списываются из остатков по FIFOуслуги в складском регистре не отражаютсяОтдельный справочник
Услугиимеет смысл только в том случае, если по условию услуги являются самостоятельным объектом учета и должны иметь собственные реквизиты, формы, регистры или документы. В описанной ситуации для экзамена это будет лишняя сущность.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.