Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:51

Контроль остатков товаров в документе "Корректировка реализации"

Автор LadyGaGa2012, 13 мая 2014, 14:15

0 Пользователей и 1 гость просматривают эту тему.

LadyGaGa2012

Здравствуйте!
Кто-нибудь реализовал контроль остатков товаров в документе "Корректировка реализации"? был пересорт...
спасибо

LadyGaGa2012

Реализовала сама... может быть кому-нибудь пригодится для КА 1.1.47.1 при использовании регистра "свободные остатки"
1. в модуле документа "Корректировка реализации" в Процедуре "ДвиженияПоРегистрамУпр" в части "// ТОВАРЫ ПО РЕГИСТРУ ТоварыНаСкладах и ТоварыВРознице." после условия "Если НЕ Отказ И МассивКомплектыОпт.Количество() <> 0 Тогда" добавляем команду -

ПроцедурыКонтроляОстатков.ТоварыНаСкладахКонтрольОстатков("Товары", СтруктураШапкиДокумента, Отказ, Заголовок, РежимПроведения);

2. в общем модуле "ПроцедурыКонтроляОстатков" в функции "ПолучитьСтруктуруПараметров" в условии "Если ИмяДокумента = ....." добавляем

   ИначеЕсли ИмяДокумента = "КорректировкаРеализации" Тогда
      РеквизитСклад            = СтруктураШапкиДокумента.Склад;

3. в общем модуле "ПроцедурыКонтроляОстатков" в функции "СформироватьВременнуюТаблицуПоТаблицеДокумента" вместо команды

КоличествоЕдОстатков = ?(СтруктураПараметров.ЕстьКоэффициент, "ВЫРАЗИТЬ(Док.Количество * Док.Коэффициент / Док.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Число(15,3))", "ВЫРАЗИТЬ(Док.Количество КАК Число(15,3))");

вставляем

   Если ТипЗнч(СтруктураПараметров.ДокументСсылка) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
      Если СтруктураПараметров.ДокументСсылка.ВидОперации = Перечисления.ВидыОперацийИсправленияПоступленияРеализации.ИсправлениеОшибки Тогда
         КоличествоЕдОстатков = ?(СтруктураПараметров.ЕстьКоэффициент, "ВЫРАЗИТЬ((Док.Количество * Док.Коэффициент / Док.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент)- (Док.КоличествоДоИзменения * Док.Коэффициент / Док.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК Число(15,3))", "ВЫРАЗИТЬ(Док.Количество - Док.КоличествоДоИзменения КАК Число(15,3))");
      Иначе
         КоличествоЕдОстатков = ?(СтруктураПараметров.ЕстьКоэффициент, "ВЫРАЗИТЬ((Док.Количество * Док.Коэффициент / Док.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент)- (Док.КоличествоДоКорректировки * Док.Коэффициент / Док.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК Число(15,3))", "ВЫРАЗИТЬ(Док.Количество - Док.КоличествоДоКорректировки КАК Число(15,3))");
      КонецЕсли;
   Иначе
      КоличествоЕдОстатков = ?(СтруктураПараметров.ЕстьКоэффициент, "ВЫРАЗИТЬ(Док.Количество * Док.Коэффициент / Док.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Число(15,3))", "ВЫРАЗИТЬ(Док.Количество КАК Число(15,3))");
   КонецЕсли;

вот собственно и все

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск