Главная » Файлы » Программируем в 1С » 1С Разное

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

Через минуту Вы получите "Гостевой доступ"




Функция для списания методом ФИФО 1с 8 УПП
2012 Сентябрь 19, 13:05
  • Функция для списания методом ФИФО 1с 8 УПП

 

Функция ПолучитьТаблицуПартйДЛяСписания(СтруктураПараметров,  ТипУчета)

   
    Запрос = НОвый Запрос;
    Запрос.УстановитьПараметр("Организация", Организация);
    Запрос.УстановитьПараметр("НОменклатура", Паливо);
    Запрос.УстановитьПараметр("Склад" , СкладАвто);
    Запрос.УстановитьПараметр("ДатаНач" , Дата);
    Запрос.УстановитьПараметр("ДатаКон" , Дата);

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

КонецФункции   

 

Думаю данная функция поможет нач программистам 1с 8 УВП и др конф

 
Категория: 1С Разное | Добавил: c1
Просмотров: 1651 | Загрузок: 0 | Рейтинг: 5.0/1

Выразить благодарность - Поделиться с друзьями!

 

Здесь все о технической стороне 1С!

 

Узнай, как правильно администрировать 1С Предприятие
Регистрируйся на бесплатный 7-ми дневный курс сейчас:

Ваш E-Mail в безопасности



Всего комментариев: 0
avatar