В начало

Дата и сумма последней «Приходной накладной»

 

            Необходимо вывести на форму списка «Приходной накладной» дату и сумму последней «Приходной накладной».

Рис. Форма списка «Приходной накладной»

 

            Модифицируем  форму списка приходной накладной, а именно, добавим на нее два реквизита формы для заполнения полученными данными.

Рис. Форма списка документа «Приходная накладная»

 

            Затем в модуле формы подготавливаем пару функций с запросами.

 

Листинг. Содержимое модуля формы списка «Приходной накладной»

&НаСервере

Функция ПолучитьСсылкуПоследнейПриходнойПриходной()

            Запрос = Новый Запрос;

            Запрос.Текст =

                        "ВЫБРАТЬ ПЕРВЫЕ 1

                        |         ПриходнаяНакладная.Ссылка КАК Ссылка,

                        |         ПриходнаяНакладная.Дата КАК Дата

                        |ИЗ

                        |         Документ.ПриходнаяНакладная КАК ПриходнаяНакладная

                        |

                        |УПОРЯДОЧИТЬ ПО

                        |         Дата УБЫВ";

           

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

            Выборка = Результат.Выбрать();

           

            Если Выборка.Следующий() Тогда

                        Возврат Выборка.Ссылка;

            Иначе

                        Возврат Неопределено;

            КонецЕсли;

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

 

&НаСервере

Функция ПолучитьСсуммуПриходнойНакладной(СсылкаНаНакладную)

            Запрос = Новый Запрос;

            Запрос.Текст =

                        "ВЫБРАТЬ

                        |         СУММА(ПриходнаяНакладнаяСписокТоваров.Сумма) КАК Сумма

                        |ИЗ

                        |         Документ.ПриходнаяНакладная.СписокТоваров КАК ПриходнаяНакладнаяСписокТоваров

                        |ГДЕ

                        |         ПриходнаяНакладнаяСписокТоваров.Ссылка = &Ссылка";

           

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

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

            Выборка = Результат.Выбрать();

           

            Если Выборка.Следующий() Тогда

                        Возврат Выборка.Сумма;

            Иначе

                        Возврат Неопределено;

            КонецЕсли;

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

 

 

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

            СсылкаНаНакладную = ПолучитьСсылкуПоследнейПриходнойПриходной();

            ЭтаФорма.ДатаПоследнейПриходной = СсылкаНаНакладную.Дата;

            ЭтаФорма.СуммаПоследнейПриходной = ПолучитьСсуммуПриходнойНакладной(СсылкаНаНакладную);

КонецПроцедуры

 

            Запускаем режим отладки и проверяем результат.

 

Рис. Форма списка «Приходной накладной»

 

            Проверили, все верно. На форме выводится правильная дата и верная сумма.