Отчет Комплектующие в сборке в 1С УТ 11
В данной задаче для хранения информации о том, какие комплектующие находятся на сборке — воспользуемся регистром сведений, назовём его «КомплектующиеНаСборке», Подчинен регистратору — документ Сборка товаров. Измерение — Номенклатура, Ресурс — Количество:
Создаем новый общий модуль и подписку на событие:
Подписка «СборкаВРаботе», источник — Документ «Сборка товаров», событие — обработчик проведения:
Для подписки желательно создать новый общий модуль — что бы меньше менять типовую конфигурацию.
Получите понятные самоучители по 1С бесплатно:
В обработчике события прописываем следующий программный код:
Процедура СборкаСобранаОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
Если Источник.Статус = Перечисления.СтатусыСборокТоваров.ВРаботе Тогда
НаборЗаписей = Источник.Движения.КомплектующиеНаСборке;
Для Каждого Строка Из Источник.Товары Цикл
НоваяСтрока = НаборЗаписей.Добавить();
НоваяСтрока.Номенклатура = Строка.Номенклатура;
НоваяСтрока.Количество = Строка.Количество;
НоваяСтрока.Регистратор = Источник.Ссылка;
КонецЦикла;
НаборЗаписей.Записать();
КонецЕсли;
КонецПроцедуры
При проведении документа «Сборка товаров» в статусе «В работе» в регистр будут записываться находящиеся сейчас на сборке комплектующие.
Создание отчета Комплектующие в сборке
По заданным записям регистра сведений очень просто построить отчет. Сделаем это на СКД.
Источник данный — запрос.
Запрос:
ВЫБРАТЬ
КомплектующиеНаСборке.Номенклатура,
СУММА(КомплектующиеНаСборке.Количество) КАК Количество
ИЗ
РегистрСведений.КомплектующиеНаСборке КАК КомплектующиеНаСборке
СГРУППИРОВАТЬ ПО
КомплектующиеНаСборке.Номенклатура
Настраиваем простое оформление.
В итоге получаем простой отчет по позициям, которые находятся на сборке:
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
Дарима:
если добавлять новый регистр, то скорее регистр накопления КомплектующиеНаСборке
Программист 1С:
Я продумывал этот вариант, но мне показалось тут выгоднее обойтись Р.С.
Наталья:
Необходимо создать отчет “Комплектующие в сборке”, который предоставит данные по тем комплектующим, которые в данный момент задействованы под собираемое изделие.
А в регистре почему то одно измерение . Как минимум должно быть два.
Марина:
Попалась эта задача на экзамене. Комментарий экзаменатора: «накопление ведется на регистре сведений». Так что все-таки нужно создавать регистр накопления.
Денис:
Создаем регистр накопления вместо регистра сведений. А общем модуле добавим
НоваяСтрока.Период = ТекущаяДата();
и все тоже самое.
Ах да, в отчете нужно будет указать хар-ку номенклатуры и прочую аналитическую информацию.
Кирилл:
Согласен
Андрей:
Я либо не правильно понял условие, либо все реально на столько просто!
Берем РН: ТоварыНаСкладах и делаем простецкий запрос!
ВЫБРАТЬ
ТоварыНаСкладахОбороты.Регистратор.Номенклатура,
ТоварыНаСкладахОбороты.Номенклатура,
ТоварыНаСкладахОбороты.Характеристика,
ТоварыНаСкладахОбороты.ВНаличииОборот
ИЗ
РегистрНакопления.ТоварыНаСкладах.Обороты(, , Регистратор, ) КАК ТоварыНаСкладахОбороты
ГДЕ
ТоварыНаСкладахОбороты.Регистратор ССЫЛКА Документ.СборкаТоваров
И ТоварыНаСкладахОбороты.Регистратор.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСборокТоваров.ВРаботе)
Всё! Мы имеем нужные данные.