Билет 9

Оперативный учет

Организация занимается оптовой торговлей. Для описания товаров существуют различные характеристики, набор которых составляет свойство. Учет товаров ведется в разрезе свойств этих товаров, причем для каждого товара набор этих свойств может быть произвольный. Например, «ботинки черные 42 размера», «ботинки коричневые 42 размера» и «ботинки коричневые 44 размера утепленные» это один товар «ботинки», но с разными свойствами. «Черные 42 размера» будет являться свойством, а цвет «черный» и размер «42» являются характеристиками.

Поступление товаров отражается документом «Приходная накладная», продажа - «Расходная накладная». И в документе поступления, и в документе списания для каждого товара указывается его свойство.

Механизм свойств и характеристик товаров должен быть реализован с использованием плана видов характеристик.

Складской учет товаров не ведется.

Списание себестоимости товаров должно быть организовано в разрезе свойств.

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

Ведомость товаров с 01.01.2010 по 31.03.2010 по характеристике «производитель».

Харак-ка

Товар

Нач. остаток

Приход

Расход

Кон. остаток

Adidas

Куртка замшевая

2

4

5

1

Портсигар

1

2

3

Puma

Куртка замшевая

1

2

3

Nike

Куртка замшевая

3

1

2

****************************************************************************

Справочник «Номенклатура»

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

Справочник «Свойства»

Справочник «ЗначенияХарактеристик»

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

РеквТЧ: Свойство

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

       Движения. ОстаткиНоменклатуры. Очистить();

       Движения. ОстаткиНоменклатуры. Записать();

       // регистр ОстаткиНоменклатуры Приход

       Движения. ОстаткиНоменклатуры. Записывать = Истина;

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

               Движение = Движения. ОстаткиНоменклатуры. Добавить();

               Движение. ВидДвижения = ВидДвиженияНакопления. Приход;

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

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

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

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

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

       КонецЦикла;

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

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

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

РеквТЧ: Свойство

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

       

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

       ЭБ = Блокировка. Добавить("РегистрНакопления. ОстаткиНоменклатуры");

       ЭБ. Режим = РежимБлокировкиДанных. Исключительный;

       Эб. ИсточникДанных = СписокНоменклатуры;

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

       ЭБ. ИспользоватьИзИсточникаДанных("Свойство","Свойство");

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

       

       Движения. ОстаткиНоменклатуры. Очистить();

       Движения. ОстаткиНоменклатуры. Записать();

       Движения. ОстаткиНоменклатуры. Записывать = Истина;

       

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

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

       "ВЫБРАТЬ

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

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

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

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

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

       |ИЗ

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

       |ГДЕ

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

       |

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

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

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

       |;

       |

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

       |ВЫБРАТЬ

       |        ОстаткиНоменклатурыОстатки. Номенклатура,

       |        ОстаткиНоменклатурыОстатки. Свойство,

       |        ОстаткиНоменклатурыОстатки. КоличествоОстаток,

       |        ОстаткиНоменклатурыОстатки. СуммаОстаток

       |ПОМЕСТИТЬ ВТ_Остатки

       |ИЗ

       |        РегистрНакопления. ОстаткиНоменклатуры. Остатки(

       |                        &МоментВремени,

       |                        (Номенклатура, Свойство) В

       |                                (ВЫБРАТЬ

       |                                        ВТ_ТЧ. Номенклатура,

       |                                        ВТ_ТЧ. Свойство

       |                                ИЗ

       |                                        ВТ_ТЧ КАК ВТ_ТЧ)) КАК ОстаткиНоменклатурыОстатки

       |;

       |

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

       |ВЫБРАТЬ

       |        ВТ_ТЧ. Номенклатура,

       |        ВТ_ТЧ. Свойство,

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

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

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

       |        ЕСТЬNULL(ВТ_Остатки. СуммаОстаток, 0) КАК СуммаОстаток

       |ИЗ

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

       |                ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК ВТ_Остатки

       |                ПО ВТ_ТЧ. Номенклатура = ВТ_Остатки. Номенклатура

       |                        И ВТ_ТЧ. Свойство = ВТ_Остатки. Свойство";

       

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

       Запрос. УстановитьПараметр("МоментВремени", МоментВремени());

       

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

       

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

       

       Пока ВыборкаДетальныеЗаписи. Следующий() Цикл

               Если ВыборкаДетальныеЗаписи. Количество > ВыборкаДетальныеЗаписи. КоличествоОстаток ТОгда

                       Сообщ = Новый СообщениеПользователю;

                       Сообщ. Текст = "Не хватает номенклатуры " + ВыборкаДетальныеЗаписи. Номенклатура

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