Требуется организовать возможность учета продажи комплектов. В системе должна храниться информация о составе комплекта (какие номенклатурные позиции и в каком количестве входят в данный комплект). В состав комплекта не могут входить другие комплекты. Следует обеспечить уникальность деталей в рамках комплектов, т. е. одна и та же деталь не должна входить в состав разных комплектов.

Операция сборки как таковая в компании не осуществляется. Когда покупатель приходит получать комплект ответственный сотрудник компании в соответствии со спецификацией отгружает необходимое количество комплектующих.

Продажи осуществляются документом «Расходная накладная». В табличной части документа указываются комплекты и их количество.

Документ реализует следующие проводки:

Дт «Прибыли и убытки» - Кт «Товары» на количество и себестоимость списываемых комплектующих.

В случае продажи комплекта необходимо списать его комплектующие согласно составу комплекта

Дт «Покупатели» - Кт «Прибыли и убытки» на сумму в продажных ценах.

Себестоимость рассчитывается как средняя по номенклатурной позиции на складе.

Необходимо построить отчет по продажам комплектов за период.

Продажи комплектов за период с 01.01.2010 по 31.01.2010

Комплект

Продажа

Себестоимость

Комплект № 1

500 000

200 000

Комплект № 3

620 000

350 000


Справочник «Номенклатура» рекв. Комплект (булево)        

Справочник «Склады»

Документ «ПриходнаяНакладная»

Рекв: Склад

ТЧ СписокНоменклатуры: Номенклатура (параметры выбора Отбор. Комплект(Ложь)), Количество, Сумма.

НЕ нашли? Не то? Что вы ищете?

Процедура ОбработкаПроведения(Отказ, Режим)

       

       Движения. Хозрасчетный. Очистить();

       Движения. Хозрасчетный. Записать();

       

       Движения. Хозрасчетный. Записывать = Истина;

       Для Каждого ТекСтрокаСписокНоменклатуры Из СписокНоменклатуры Цикл

               Движение = Движения. Хозрасчетный. Добавить();

               Движение. СчетДт = ПланыСчетов. Управленческий. Товары;

               Движение. СчетКт = ПланыСчетов. Управленческий. Покупатели;

               Движение. Период = Дата;

               Движение. КоличествоДт = ТекСтрокаСписокНоменклатуры. Количество;

               Движение. Сумма = ТекСтрокаСписокНоменклатуры. Сумма;

               Движение. СубконтоДт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ТекСтрокаСписокНоменклатуры. Номенклатура;

               Движение. СубконтоДт[ПланыВидовХарактеристик. ВидыСубконто. Склады] = Склад;

       КонецЦикла;

КонецПроцедуры

Документ «РасходнаяНакладная»

Рекв: Склад

ТЧ СписокНоменклатуры: Номенклатура (параметры выбора Отбор. Комплект(Истина)), Количество, Сумма.

Процедура ОбработкаПроведения(Отказ, Режим)

       

       Движения. Хозрасчетный. Очистить();

       Движения. Хозрасчетный. Записать();

       Движения. Хозрасчетный. Записывать = Истина;

       

       Запрос = Новый Запрос;

       Запрос. МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

       Запрос. Текст =

               "ВЫБРАТЬ

               |        РасходнаяНакладнаяСписокНоменклатуры. Номенклатура КАК Комплект,

               |        СУММА(РасходнаяНакладнаяСписокНоменклатуры. Количество) КАК Количество,

               |        СУММА(РасходнаяНакладнаяСписокНоменклатуры. Сумма) КАК Сумма,

               |        МИНИМУМ(РасходнаяНакладнаяСписокНоменклатуры. НомерСтроки) КАК НомерСтроки

               |ПОМЕСТИТЬ ВТ_ТЧ

               |ИЗ

               |        Документ. РасходнаяНакладная. СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры

               |ГДЕ

               |        РасходнаяНакладнаяСписокНоменклатуры. Ссылка = &Ссылка

               |

               |СГРУППИРОВАТЬ ПО

               |        РасходнаяНакладнаяСписокНоменклатуры. Номенклатура

               |

               |ИНДЕКСИРОВАТЬ ПО

               |        Комплект

               |;

               |

               |////////////////////////////////////////////////////////////////////////////////

               |ВЫБРАТЬ

               |        ВТ_ТЧ. Комплект,

               |        ВТ_ТЧ. Количество,

               |        ВТ_ТЧ. Сумма,

               |        ВТ_ТЧ. НомерСтроки,

               |        СоставКомплекта. Деталь,

               |        ЕСТЬNULL(СоставКомплекта. Количество, 0) КАК КолВКомплекте

               |ПОМЕСТИТЬ ВТ_Детали

               |ИЗ

               |        ВТ_ТЧ КАК ВТ_ТЧ

               |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений. СоставКомплекта КАК СоставКомплекта

               |                ПО ВТ_ТЧ. Комплект = СоставКомплекта. Комплект

               |;

               |

               |////////////////////////////////////////////////////////////////////////////////

               |ВЫБРАТЬ

               |        ВТ_Детали. Деталь

               |ИЗ

               |        ВТ_Детали КАК ВТ_Детали";

       

       Запрос. УстановитьПараметр("Ссылка", Ссылка);

       

       РезультатЗапроса = Запрос. Выполнить();

       

       Блокировка = Новый БлокировкаДанных;

       ЭлементБлокировки = Блокировка. Добавить("РегистрБухгалтерии. Хозрасчетный");

       ЭлементБлокировки. УстановитьЗначение("Счет", ПланыСчетов. Управленческий. Товары);

       ЭлементБлокировки. ИсточникДанных = РезультатЗапроса;

       ЭлементБлокировки. ИспользоватьИзИсточникаДанных(ПланыВидовХарактеристик. ВидыСубконто. Номенклатура, "Деталь");

       ЭлементБлокировки. УстановитьЗначение(ПланыВидовХарактеристик. ВидыСубконто. Склады, Склад);

       Блокировка. Заблокировать();

       

       

       Запрос. Текст =

               "ВЫБРАТЬ

               |        ВТ_Детали. Деталь,

               |        ВТ_Детали. НомерСтроки,

               |        ВТ_Детали. Комплект КАК Комплект,

               |        ВТ_Детали. Количество КАК КоличествоКомплектов,

               |        ВТ_Детали. КолВКомплекте * ВТ_Детали. Количество КАК КоличествоДеталей,

               |        ВТ_Детали. Сумма КАК Сумма,

               |        ЕСТЬNULL(ХозрасчетныйОстатки. КоличествоОстаток, 0) КАК КоличествоОстаток,

               |        ЕСТЬNULL(ХозрасчетныйОстатки. СуммаОстаток, 0) КАК СуммаОстаток

               |ИЗ

               |        ВТ_Детали КАК ВТ_Детали

               |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии. Хозрасчетный. Остатки(

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9