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

Не отображается сумма после проведения

Автор Алексей Корольков, 21 мая 2022, 19:58

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

Алексей Корольков

Приветствую и заранее Благодарю за любую помощь (молчание - то же помощь в движении самостоятельно).

Проведение по регистрам успешно. Проверял сообщениями(отчёты пока не создавал).
Мне не понятно почему сумма не отображается. Вроде всё делал верно.

Так как это домашка, то и мучал её уже более 6 часов. При работе такое не прокатит. Прошу подсказок или кода в документе.

Спасибо.

alexandr_ll

Алексей Корольков, Сумма документа не зависит от проведения. Это реквизит документа, который должен заполняться при записи документа как итог по какой-либо колонке табличной части. Что сей=ас выводится в это поле?

nvj84

По документу приходная накладная сейчас у автора присутствует только обработчик проведения:
Процедура ОбработкаПроведения(Отказ, Режим)   
//Проверка заполнениия полей
Если ТоварИУслуга.Количество() = 0 Тогда
Сообщить("Впроведение не возможно! Документ не содержит строк");
Отказ = Истина;
Возврат;
КонецЕсли;

// регистр Движение Товары и услуги И Затраты   
Движения.ТоварыИУслуги.Записывать = Истина; 
Движения.Затраты.Записывать = Истина;

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

Запрос.УстановитьПараметр("Ссылка", Ссылка);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

//обнуляю результат
Сумма = 0;

//Записываем Движение
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

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

Сумма = Сумма + ВыборкаДетальныеЗаписи.Сумма;       
КонецЦикла; 

//Запихиваем сумму в Движение Затрат
ДвижениеЗатрат = Движения.Затраты.Добавить();
ДвижениеЗатрат.Период = Дата;
ДвижениеЗатрат.Поставщики = Поставщики;
ДвижениеЗатрат.Сумма = Сумма;
ДвижениеЗатрат.Склады = Склад; 

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецПроцедуры       
Начинается все с проверки заполнения в обработке проведения
//Проверка заполнениия полей
Если ТоварИУслуга.Количество() = 0 Тогда
Сообщить("Впроведение не возможно! Документ не содержит строк");
Отказ = Истина;
Возврат;
КонецЕсли;
Вместо
Домашнее задание 1.png
В Сумму в итоге попадает сумма цен по товарам/услугам из табличной части
СУММА(ПриходнаяНакладнаяТоварИУслуга.Цена) КАК Сумма
Плюс не понятные манипуляции с поставщиком(который не будет ни как использован).

PS В вашем скрине скорее всего не заполнили Цену и получили результат(но и при ее заполнении он как мне кажется верным не станет).

Алексей Корольков

В коде разобрался, когда название Сумма заменил на СуммаДокумента.

Поставщики потом будут нужны для отчёта в регистре, как и покупатели в расходной накладной.

Обработчик событий висит на пустое количество строк. Это когда заполнены поля сума, поставщик, склад, а строчек в накладной нету. Впрочем и от дурака я изменил поле сумма со строки ввода на строку просмотра.

Пока всё работает.

Всем Спасибо.

nvj84

Я не понял зачем в запросе поставщик ведь в проведении он не учувствует (тот что в запросе). Надеюсь запрос поправили и упростили.

Алексей Корольков

nvj84, Документ формирует сведения Кому, Куда, Когда. А в регистрах потом красота.

К красоте можно придти разными способами. Мне этот показался короче.

Теги:

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

Рейтинг@Mail.ru

Поиск