|
Как в УТ 10.3 при проведении комплектации увеличивать себестоимость товаров? | ☑ | ||
---|---|---|---|---|
0
ded20ded
08.04.15
✎
13:53
|
Как в УТ 10.3 при проведении комплектации увеличивать себестоимость товаров? Подскажите какой регистр нужно увеличить сумму не могу найти где сумма проставляется в регистр при проведении.
|
|||
1
AlexSmirnov272
08.04.15
✎
13:59
|
рег. Партии товаров
|
|||
2
ded20ded
08.04.15
✎
15:10
|
// По результату запроса по шапке документа формируем движения по регистрам.
// // Параметры: // РежимПроведения - режим проведения документа (оперативный или неоперативный), // СтруктураШапкиДокумента - выборка из результата запроса по шапке документа, // ТаблицаПоКомплектующим - таблица значений, содержащая данные для проведения и проверки ТЧ ТаблицаПоКомплектующим // ТаблицаПоКомплектам - таблица значений, содержащая данные для проведения и проверки по комплектам, // Отказ - флаг отказа в проведении, // Заголовок - строка, заголовок сообщения об ошибке проведения. // Процедура ДвиженияПоРегистрам(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоКомплектующим, ТаблицаПоКомплектам, Отказ, Заголовок); ДвиженияПоРегистрамУпр(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоКомплектующим, ТаблицаПоКомплектам, Отказ, Заголовок); ДвиженияПоТоварамОрганизаций(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоКомплектующим, ТаблицаПоКомплектам, Отказ, Заголовок); ДвиженияПоСписаннымТоварам(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоКомплектующим, ТаблицаПоКомплектам, Отказ, Заголовок); УчетнаяПолитика = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Дата); Если ОтражатьВУправленческомУчете Тогда ЗаписьРегистрации = ПринадлежностьПоследовательностям.ПартионныйУчет.Добавить(); ЗаписьРегистрации.Период = Дата; КонецЕсли; Если УчетнаяПолитика.СписыватьПартииПриПроведенииДокументов Тогда // Проведение по партиям остановим в том случае, если не хватит хоть одного комплектующего. УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров(Ссылка,Движения.СписанныеТовары.Выгрузить(),,,,,Истина); Иначе // В неоперативном режиме границы последовательностей сдвигаются назад, если они позже документа. Если РежимПроведения = РежимПроведенияДокумента.Неоперативный Тогда УправлениеЗапасамиПартионныйУчет.СдвигГраницыПоследовательностиПартионногоУчетаНазад(Дата, Ссылка, Организация); КонецЕсли; КонецЕсли; КонецПроцедуры // ДвиженияПоРегистрам() Процедура ДвиженияПоРегистрамУпр(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоКомплектующим, ТаблицаПоКомплектам, Отказ, Заголовок) // Движения по документу. Если ОтражатьВУправленческомУчете Тогда // ТОВАРЫ ПО РЕГИСТРУ ТоварыНаСкладах // По комплектующим. Если СтруктураШапкиДокумента.ВидСклада = Перечисления.ВидыСкладов.Розничный Тогда НаборДвижений = Движения.ТоварыВРознице; Иначе НаборДвижений = Движения.ТоварыНаСкладах; КонецЕсли; // Проверка остатков при оперативном проведении. Если ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация И РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда НаборДвижений.КонтрольОстатков(ЭтотОбъект, "Комплектующие", СтруктураШапкиДокумента, Отказ, Заголовок); КонецЕсли; Если НЕ Отказ Тогда СтруктТаблицДокумента = Новый Структура; СтруктТаблицДокумента.Вставить("ТаблицаПоКомплектующим", ТаблицаПоКомплектующим); ТаблицыДанныхДокумента = ОбщегоНазначения.ЗагрузитьТаблицыДокументаВСтруктуру(НаборДвижений, СтруктТаблицДокумента); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "Склад", Склад); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "Качество", Справочники.Качество.Новый); Если СтруктураШапкиДокумента.ВидСклада = Перечисления.ВидыСкладов.Розничный Тогда ТаблицаПоЦенам = УправлениеРозничнойТорговлей.СформироватьЗапросПоПродажнымЦенам(Дата, Склад, ТаблицыДанныхДокумента["ТаблицаПоКомплектующим"].ВыгрузитьКолонку("Номенклатура")).Выгрузить(); УправлениеРозничнойТорговлей.ЗаполнитьКолонкуСуммаПродажная(ТаблицыДанныхДокумента["ТаблицаПоКомплектующим"], ТаблицаПоЦенам); Если ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Разукомплектация Тогда // Проверка наличия продажных цен на приходуемый товар. УправлениеРозничнойТорговлей.ПроверитьЧтоДляРозничныхСкладовЗаполненаСуммаПродажная(ЭтотОбъект, "Комплектующие", ТаблицыДанныхДокумента["ТаблицаПоКомплектующим"], Отказ, Заголовок); КонецЕсли; КонецЕсли; ВидДвижения = ?( ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация, ВидДвиженияНакопления.Расход, ВидДвиженияНакопления.Приход); ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвижения, ТаблицыДанныхДокумента, Дата); КонецЕсли; Если ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация Тогда // Если есть списание из резерва, то надо списать резерв ТаблицаПоКомплектующимИзРезерва = УдалитьСтрокиНеТребующиеСписанияРезерва(ТаблицаПоКомплектующим); Если ТаблицаПоКомплектующимИзРезерва.Количество() > 0 Тогда НаборДвижений = Движения.ТоварыВРезервеНаСкладах; // Проверка остатков при оперативном проведении. Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда НаборДвижений.КонтрольОстатков(ЭтотОбъект, "Комплектующие", СтруктураШапкиДокумента, Отказ, Заголовок); КонецЕсли; Если Не Отказ Тогда СтруктТаблицДокумента = Новый Структура; СтруктТаблицДокумента.Вставить("ТаблицаПоКомплектующим", ТаблицаПоКомплектующимИзРезерва); ТаблицыДанныхДокумента = ОбщегоНазначения.ЗагрузитьТаблицыДокументаВСтруктуру(НаборДвижений, СтруктТаблицДокумента); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "Склад", Склад); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "ДокументРезерва", Заказ); ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвиженияНакопления.Расход, ТаблицыДанныхДокумента, Дата); КонецЕсли; КонецЕсли; КонецЕсли; // По комплектам Если СтруктураШапкиДокумента.ВидСклада = Перечисления.ВидыСкладов.Розничный Тогда НаборДвижений = Движения.ТоварыВРознице; Иначе НаборДвижений = Движения.ТоварыНаСкладах; КонецЕсли; // Проверка остатков при оперативном проведении. Если ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Разукомплектация И РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда НаборДвижений.КонтрольОстатков(ЭтотОбъект,"", СтруктураШапкиДокумента, Отказ, Заголовок); КонецЕсли; Если НЕ Отказ Тогда СтруктТаблицДокумента = Новый Структура; СтруктТаблицДокумента.Вставить("ТаблицаПоКомплектам", ТаблицаПоКомплектам); ТаблицыДанныхДокумента = ОбщегоНазначения.ЗагрузитьТаблицыДокументаВСтруктуру(НаборДвижений, СтруктТаблицДокумента); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "Склад", Склад); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "Качество", Справочники.Качество.Новый); Если СтруктураШапкиДокумента.ВидСклада = Перечисления.ВидыСкладов.Розничный Тогда ТаблицаПоЦенам = УправлениеРозничнойТорговлей.СформироватьЗапросПоПродажнымЦенам(Дата, Склад, ТаблицыДанныхДокумента["ТаблицаПоКомплектам"].ВыгрузитьКолонку("Номенклатура")).Выгрузить(); УправлениеРозничнойТорговлей.ЗаполнитьКолонкуСуммаПродажная(ТаблицыДанныхДокумента["ТаблицаПоКомплектам"], ТаблицаПоЦенам); // Проверка наличия продажных цен на приходуемый товар. Если ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация Тогда УправлениеРозничнойТорговлей.ПроверитьЧтоДляРозничныхСкладовЗаполненаСуммаПродажная(ЭтотОбъект, "Комплектующие", ТаблицыДанныхДокумента["ТаблицаПоКомплектам"], Отказ, Заголовок); КонецЕсли; КонецЕсли; ВидДвижения = ?(ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация, ВидДвиженияНакопления.Приход, ВидДвиженияНакопления.Расход); ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвижения, ТаблицыДанныхДокумента, Дата); КонецЕсли; // По резервам Если ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Разукомплектация Тогда //Если есть списание из резерва, то надо списать резерв ТаблицаПоКомплектамИзРезерва = УдалитьСтрокиНеТребующиеСписанияРезерва(ТаблицаПоКомплектам); Если ТаблицаПоКомплектамИзРезерва.Количество() > 0 Тогда НаборДвижений = Движения.ТоварыВРезервеНаСкладах; // Проверка остатков при оперативном проведении. Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда НаборДвижений.КонтрольОстатков(ЭтотОбъект,"", СтруктураШапкиДокумента, Отказ, Заголовок); КонецЕсли; Если Не Отказ Тогда СтруктТаблицДокумента = Новый Структура; СтруктТаблицДокумента.Вставить("ТаблицаПоКомплектам", ТаблицаПоКомплектамИзРезерва); ТаблицыДанныхДокумента = ОбщегоНазначения.ЗагрузитьТаблицыДокументаВСтруктуру(НаборДвижений, СтруктТаблицДокумента); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "Склад", Склад); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "ДокументРезерва", Заказ); ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвиженияНакопления.Расход, ТаблицыДанныхДокумента, Дата); КонецЕсли; КонецЕсли; ИначеЕсли ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация Тогда ТаблицаПоКомплектамИзРезерва = ТаблицаПоКомплектам.Скопировать(); Если ТаблицаПоКомплектамИзРезерва.Количество() > 0 И ЗначениеЗаполнено(Заказ) Тогда // Считается исполнением внутреннего заказа. Резерв в это случае делать не надо. Если ТипЗнч(Заказ) = Тип("ДокументСсылка.ВнутреннийЗаказ") И Заказ.Заказчик = Склад Тогда // Погашение внутренних заказов в случае Заказчик = Склад поступления комплекта Если НЕ Отказ Тогда НаборДвижений = Движения.ВнутренниеЗаказы; ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки(); Для Каждого СтрокаДок Из ТаблицаПоКомплектамИзРезерва Цикл КоличествоОстаток = УправлениеЗаказами.ПолучитьОстатокПоВнутреннемуЗаказу(Заказ, СтрокаДок.Количество, СтрокаДок.Номенклатура, ?(НЕ ЗначениеЗаполнено(СтрокаДок.ХарактеристикаНоменклатуры), Неопределено, СтрокаДок.ХарактеристикаНоменклатуры), СтрокаДок.ЕдиницаИзмерения, Перечисления.СтатусыПартийТоваров.Купленный); Если КоличествоОстаток > 0 Тогда НоваяСтрока = ТаблицаДвижений.Добавить(); НоваяСтрока.ВнутреннийЗаказ = Заказ; НоваяСтрока.Заказчик = Склад; НоваяСтрока.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; НоваяСтрока.Номенклатура = СтрокаДок.Номенклатура; НоваяСтрока.ЕдиницаИзмерения = СтрокаДок.ЕдиницаИзмерения; НоваяСтрока.Количество = Мин(СтрокаДок.Количество, КоличествоОстаток); Если ЗначениеЗаполнено(СтрокаДок.ХарактеристикаНоменклатуры) Тогда НоваяСтрока.ХарактеристикаНоменклатуры = СтрокаДок.ХарактеристикаНоменклатуры; КонецЕсли; КонецЕсли; КонецЦикла; Если ТаблицаДвижений.Количество() > 0 Тогда НаборДвижений.мПериод = Дата; НаборДвижений.мТаблицаДвижений = ТаблицаДвижений; НаборДвижений.ВыполнитьРасход(); КонецЕсли; КонецЕсли; Иначе НаборДвижений = Движения.ТоварыВРезервеНаСкладах; СтруктТаблицДокумента = Новый Структура; СтруктТаблицДокумента.Вставить("ТаблицаПоКомплектам", ТаблицаПоКомплектамИзРезерва); ТаблицыДанныхДокумента = ОбщегоНазначения.ЗагрузитьТаблицыДокументаВСтруктуру(НаборДвижений, СтруктТаблицДокумента); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "Склад", Склад); ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "ДокументРезерва", Заказ); ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвиженияНакопления.Приход, ТаблицыДанныхДокумента, Дата); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры нет тут суммы товаров, которые вошли в себестоимость комплекта |
|||
3
AlexSmirnov272
08.04.15
✎
15:48
|
Себестоимость - это очень важная вещь в партионном учете, если хочешь ее изменить - нужны очень веские основания, а ее изменение производится специальными документами.
|
|||
4
Джинн
08.04.15
✎
15:54
|
(0) С какого перепугу она должна увеличиваться?
|
|||
5
AlexSmirnov272
08.04.15
✎
16:01
|
(4) ))) не ведают, что сотворить хотят
|
|||
6
bolobol
08.04.15
✎
16:30
|
Затраты на ЗП, хотя бы, понесли при комплектации - новая себестоимость. Производство, типа.
|
|||
7
vde69
08.04.15
✎
16:32
|
для этого в табличные части комплектухи нужно включать услуги
|
|||
8
bolobol
08.04.15
✎
16:36
|
а их не включить туда.
|
|||
9
Михаил Козлов
08.04.15
✎
16:37
|
(7) А она там есть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |