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

Корректировка регистра

Автор gliokker, 23 авг 2013, 12:38

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

gliokker

Всем привет.мне нужно списать все остатки ГСМ по ТС.Решил сделать это корректировкой регистров.Есть регистр накопления ОстаткиГСМнаТС. Начал писать обработку.
ДокКорректировка = Документы.уатКорректировкаЗаписейРегистров.СоздатьДокумент();
        
          
      НоваяСтрокаРегНак = ДокКорректировка.ТаблицаРегистровНакопления.Добавить();
       НоваяСтрокаРегНак.Имя = "уатОстаткиГСМнаТС";
      ДокКорректировка.Дата = ТекущаяДата();
       ДокКорректировка.Записать();
       ДокКорректировкаСсылка = ДокКорректировка.Ссылка;
Документ создаётся,всё работает .Дальше ступор мне нужно чтоб на всех машина были остатки ноль,как это сделать? Как сделать запрос?

gliokker

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

Для Каждого СтрокаДвижения  ИЗ ТЗОстатков Цикл
Движение = ДокКорректировка.Движения.уатОстаткиГСМнаТС.ДобавитьРасход();
Движение.Период = КонецПериода;
Движение.ГСМ = СтрокаДвижения.ГСМ;
Движение.Колонна = СтрокаДвижения.Колонна;
Движение.ТС = СтрокаДвижения.ТС;
Движение.Количество = СтрокаДвижения.Количество;
Движение.Стоимость = СтрокаДвижения.Стоимость;
Движение.СтоимостьУпр = СтрокаДвижения.СтоимостьУпр;
КонецЦикла;
ДокКорректировка.Движения.уатОстаткиГСМнаТС.Записать();


вот что у меня получилось,но почему получаются минусовые суммы после списания не может подсказать почему?

MuI_I_Ika

А чего-то у вас партии в движении нет.

gliokker

Цитата: MuI_I_Ika от 23 авг 2013, 15:55
А чего-то у вас партии в движении нет.
Видимо забыл,это не повлияло на конечный результат.

MuI_I_Ika

Значит КонецПериода совсем не конец.

Теги:

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

Рейтинг@Mail.ru

Поиск