Перем ВыгрузкаХМЛ;
Перем ФормаПрогрессора;
Перем ВыборкаБанк;
Перем ВыборкаВалюта;
Процедура КнопкаВыполнитьНажатие(Кнопка)
ЗаписьXML = Новый ЗаписьXML();
ВыгрузкаХМЛ = ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ФайлXML);
ЗаписьXML.ЗаписатьНачалоЭлемента("Выгрузка");
Если
Номенклатура = Истина
или Валюты = Истина
или Контрагенты = Истина
или Банки = Истина
Тогда
ВыгрузкаХМЛ = ЗаписьXML;
ЗаписьXML.ЗаписатьНачалоЭлемента("Справочники");
Если Номенклатура = Истина
Тогда ВыгрузкаНоменклатура();
КонецЕсли;
Если Валюты = Истина
Тогда ВыгрузкаВалюты();
КонецЕсли;
Если Контрагенты = Истина
Тогда ВыгрузкаКонтрагенты();
КонецЕсли;
Если Банки = Истина
Тогда ВыгрузкаБанки();
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
Если РТУ = Истина
Тогда
ВыгрузкаХМЛ = ЗаписьXML;
ЗаписьXML.ЗаписатьНачалоЭлемента("Документы");
Если РТУ = Истина
Тогда ВыгрузкаРТУ();
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();
Попытка
ЗаписьXML.Закрыть();
Сообщить(НСтр("ru='Данные успешно выгружены в файл ';uk='Дані успішно вивантажені в файл '") + ФайлXML);
Исключение
Сообщить(НСтр("ru='Не удалось записать данные в файл. Возможно, отсутствует каталог.';uk='Не вдалося записати дані в файл. Можливо, відсутній каталог.'") + ФайлXML);
КонецПопытки;
КонецПроцедуры
Процедура ВыгрузкаНоменклатура()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("Номенклатура");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Номенклатура.Ссылка КАК Номенклатура
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийСправочникНоменклатура = Выборка.Номенклатура.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийСправочникНоменклатура);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ВыгрузкаБанки()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("Банки");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Банки.Ссылка КАК Банк
|ИЗ
| Справочник.Банки КАК Банки";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийСправочникБанки = Выборка.Банк.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийСправочникБанки);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ВыгрузкаВалюты()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("Валюты");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Валюты.Ссылка КАК Валюта
|ИЗ
| Справочник.Валюты КАК Валюты";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийСправочникВалюты = Выборка.Валюта.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийСправочникВалюты);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ВыгрузкаКонтрагенты()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("Контрагенты");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Контрагенты.Ссылка КАК Контрагент
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийСправочникКонтрагенты = Выборка.Контрагент.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийСправочникКонтрагенты);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ВыгрузкаРТУ()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("РТУ");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК РТУ
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";
РезультатЗапроса =Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийДокументРТУ = Выборка.РТУ.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийДокументРТУ);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ФайлXMLНачалоВыбора(Элемент, СтандартнаяОбработка)
ВыборФайлаДляВыгрузки(Элемент)
КонецПроцедуры
Процедура ФайлXMLОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
ОткрытьФайлДляПросмотра(Элемент,ФайлXML,НСтр("ru='Файл выгрузки';uk='Файл вигрузки'"));
КонецПроцедуры
// |ВЫБРАТЬ
// | #Таблица.Ссылка КАК Ссылка
// |ИЗ
// | #Таблица
// |";
//
//ТекстЗапроса = "";
//Для каждого ТекДанные из Метаданные.Справочники Цикл
// ТекстЗапроса = ТекстЗапроса + ?(ПустаяСтрока(ТекстЗапроса), "", "
// |ОБЪЕДИНИТЬ ВСЕ
// |")
// + СтрЗаменить(ШаблонЗапроса, "#Таблица", "Документ." + ТекДанные.Имя);
//КонецЦикла; Запрос = Новый Запрос;
//Запрос.Текст = ТекстЗапроса;
//
//Выборка = Запрос.Выполнить().Выбрать();
//
//Пока Выборка.Следующий() Цикл
// Сообщить(Выборка.Ссылка);
//КонецЦикла;
Вот весь запрос
Перем ВыгрузкаХМЛ;
Перем ФормаПрогрессора;
Процедура КнопкаВыполнитьНажатие(Кнопка)
ЗаписьXML = Новый ЗаписьXML();
ВыгрузкаХМЛ = ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ФайлXML);
ЗаписьXML.ЗаписатьНачалоЭлемента("Выгрузка");
Если
Номенклатура = Истина
или Валюты = Истина
или Контрагенты = Истина
или Банки = Истина
Тогда
ВыгрузкаХМЛ = ЗаписьXML;
ЗаписьXML.ЗаписатьНачалоЭлемента("Справочники");
Если Номенклатура = Истина
Тогда ВыгрузкаНоменклатура();
КонецЕсли;
Если Валюты = Истина
Тогда ВыгрузкаВалюты();
КонецЕсли;
Если Контрагенты = Истина
Тогда ВыгрузкаКонтрагенты();
КонецЕсли;
Если Банки = Истина
Тогда ВыгрузкаБанки();
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
Если РТУ = Истина
Тогда
ВыгрузкаХМЛ = ЗаписьXML;
ЗаписьXML.ЗаписатьНачалоЭлемента("Документы");
Если РТУ = Истина
Тогда ВыгрузкаРТУ();
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();
Попытка
ЗаписьXML.Закрыть();
Сообщить(НСтр("ru='Данные успешно выгружены в файл ';uk='Дані успішно вивантажені в файл '") + ФайлXML);
Исключение
Сообщить(НСтр("ru='Не удалось записать данные в файл. Возможно, отсутствует каталог.';uk='Не вдалося записати дані в файл. Можливо, відсутній каталог.'") + ФайлXML);
КонецПопытки;
КонецПроцедуры
Процедура ВыгрузкаНоменклатура()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("Номенклатура");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Номенклатура.Ссылка КАК Номенклатура
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийСправочникНоменклатура = Выборка.Номенклатура.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийСправочникНоменклатура);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ВыгрузкаБанки()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("Банки");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Банки.Ссылка КАК Банк
|ИЗ
| Справочник.Банки КАК Банки";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийСправочникБанки = Выборка.Банк.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийСправочникБанки);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ВыгрузкаВалюты()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("Валюты");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Валюты.Ссылка КАК Валюта
|ИЗ
| Справочник.Валюты КАК Валюты";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийСправочникВалюты = Выборка.Валюта.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийСправочникВалюты);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ВыгрузкаКонтрагенты()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("Контрагенты");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Контрагенты.Ссылка КАК Контрагент
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийСправочникКонтрагенты = Выборка.Контрагент.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийСправочникКонтрагенты);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ВыгрузкаРТУ()
ЗаписьXML = ВыгрузкаХМЛ;
ЗаписьXML.ЗаписатьНачалоЭлемента("РТУ");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК РТУ
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";
РезультатЗапроса =Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТекущийДокументРТУ = Выборка.РТУ.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML,ТекущийДокументРТУ);
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Возврат
КонецПроцедуры
Процедура ФайлXMLНачалоВыбора(Элемент, СтандартнаяОбработка)
ВыборФайлаДляВыгрузки(Элемент)
КонецПроцедуры
Процедура ФайлXMLОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
ОткрытьФайлДляПросмотра(Элемент,ФайлXML,НСтр("ru='Файл выгрузки';uk='Файл вигрузки'"));
КонецПроцедуры
А хочу я сделать общюю выборку с подстановкой данных в оброботку если она выбрана для выгрузки