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