Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Партионный учет, Партионный учет 
V
    Опции темы
larinva
Дата 18.11.2011, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: 1
Всего: 1



Всем привет! помогите не правильно списываются партии, что ни так делаю вот обработчик проведения


Перем Метод;
Процедура ОбработкаПроведения(Отказ, Режим)
    Движения.ОстаткиНоменклатуры.Записывать = Истина;
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
    |    РасходнаяНакладнаяСписокНоменклатуры.Партия,
    |    МАКСИМУМ(РасходнаяНакладнаяСписокНоменклатуры.Цена) КАК Цена,
    |    СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
    |    СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
    |ПОМЕСТИТЬ ВТ_Товары
    |ИЗ
    |    Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
    |ГДЕ
    |    РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Документ
    |
    |СГРУППИРОВАТЬ ПО
    |    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
    |    РасходнаяНакладнаяСписокНоменклатуры.Партия
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВТ_Товары.Номенклатура КАК Номенклатура,
    |    ОстаткиНоменклатурыОстаткиИОбороты.Партия КАК Партия,
    |    ВТ_Товары.Количество КАК ТребуемоеКоличество,
    |    ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход КАК КоличествоОстаток,
    |    ОстаткиНоменклатурыОстаткиИОбороты.СуммаПриход КАК СуммаОстаток,
    |    ВТ_Товары.Сумма КАК Сумма,
    |    ВТ_Товары.Цена КАК Цена
    |ИЗ
    |    ВТ_Товары КАК ВТ_Товары
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты КАК ОстаткиНоменклатурыОстаткиИОбороты
    |        ПО ВТ_Товары.Номенклатура = ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура
    |
    |УПОРЯДОЧИТЬ ПО
    |    Номенклатура,
    |    ОстаткиНоменклатурыОстаткиИОбороты.Партия.Ссылка УБЫВ,
    |    ОстаткиНоменклатурыОстаткиИОбороты.Партия.Дата УБЫВ
    |ИТОГИ
    |    МАКСИМУМ(ТребуемоеКоличество),
    |    СУММА(КоличествоОстаток),
    |    СУММА(СуммаОстаток),
    |    МАКСИМУМ(Сумма)
    |ПО
    |    Номенклатура";
    
    
    Запрос.УстановитьПараметр("Документ", Ссылка);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаТовара = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Если Метод = Перечисления.УчетнаяПолитика.ФИФО Тогда
        Запрос.Текст = СтрЗаменить(Запрос.Текст, "УБЫВ", "ВОЗВР");
    КонецЕсли;
    
    
    Пока ВыборкаТовара.Следующий() Цикл 
        
        Если ВыборкаТовара.ТребуемоеКоличество > ВыборкаТовара.КоличествоОстаток Тогда
            НедостающееКоличество = ВыборкаТовара.ТребуемоеКоличество - ВыборкаТовара.КоличествоОстаток;
            Сообщить("Не хватает количество " + НедостающееКоличество + " " + ВыборкаТовара.Номенклатура);
            Отказ = Истина;
            Продолжить;
        КонецЕсли;
        
        Себестоимость = 0;
        ОсталосьСписать = ВыборкаТовара.ТребуемоеКоличество;
        ВыборкаПартии = ВыборкаТовара.Выбрать();
        
        Пока ВыборкаПартии.Следующий() Цикл 
            
            Если ВыборкаПартии.КоличествоОстаток <= ОсталосьСписать Тогда 
                СписатьКоличество = ВыборкаПартии.КоличествоОстаток; //количество по партиям отдельно
                СписатьСебестоимость = ВыборкаПартии.СуммаОстаток; //сумма по партиям отдельно
                ОсталосьСписать = ОсталосьСписать - СписатьКоличество; //общее количество - количество с партии
            Иначе
                СписатьКоличество = ОсталосьСписать; 
                СписатьСебестоимость = ВыборкаПартии.СуммаОстаток/ВыборкаПартии.КоличествоОстаток;
                ОсталосьСписать = 0;
            КонецЕсли;
            //КонецЦикла;
            
            // регистр ОстаткиНоменклатуры Расход
            Движение = Движения.ОстаткиНоменклатуры.Добавить();
            Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
            Движение.Номенклатура = ВыборкаПартии.Номенклатура;
            Движение.Партия = ВыборкаПартии.Партия;
            Движение.Период = Дата;
            Движение.Количество = СписатьКоличество;
            Движение.Сумма = СписатьСебестоимость;
            
            Если ОсталосьСписать = 0 Тогда
                Прервать;
            КонецЕсли;
        КонецЦикла; 
    КонецЦикла; 
КонецПроцедуры

PM MAIL   Вверх
larinva
Дата 18.11.2011, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: 1
Всего: 1



есть кто живой?
PM MAIL   Вверх
larinva
Дата 21.11.2011, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: 1
Всего: 1



решено
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

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

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.1007 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.