Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Выгрузка документа в XML

s_mario
читатель
офлайн
Дата регистрации: 03.12.2008
Сообщений: 3
Пост №1
 
03.12.2008 13:41

"Помогите пожалуйста зашел в тупик!!!<br>В документе сделал кнопку при нажатии на которую документ должен выгрузиться. <br>Для выгрузки документа в процедуре выгрузки использую типовую УниверсальныйОбменДаннымиXML Как мне добавить документ в отбор в обработке УниверсальныйОбменДаннымиXML, т.к. мне надо выгрузить конкретно этот документ. <br><br>вот процедура выгрузки<br><br>Процедура ДействияФормыВыгрузкаВедомости(Кнопка)<br> Перем мУниверсальнаяВыгрузкаДанных;<br><br> мУниверсальнаяВыгрузкаДанных = Обработки.УниверсальныйОбменДаннымиXML.Создать();<br> //мУниверсальнаяВыгрузкаДанных = ВнешниеОбработки.Создать("<Указать путь к обработке>"); // <br> <br> // Получим файл правил для выгрузки<br> <br> ПустьКФайлуПравил = НайтиФайлы("\\Buh\1с базы\Обмен\Правила выгрузки ведомости из ЗУП в БП", "ПравилаВыгрузкиИзЗУПвБП.xml");<br> <br> // Загрузка в универсальную обработку XML правил обмена<br> <br> мУниверсальнаяВыгрузкаДанных.ИмяФайлаПравилОбмена = ПустьКФайлуПравил;<br> мУниверсальнаяВыгрузкаДанных.РежимОбмена = "Выгрузка";<br> мУниверсальнаяВыгрузкаДанных.ЗагрузитьПравилаОбмена();<br> <br> //Задать имя файла данных<br> <br> Дата = Формат(Дата,"ДФ=yyyy-MM-dd");<br> Время = СтрЗаменить(Формат(Дата,"ДЛФ=T"),":"," ");<br> ИмяФайлаДанных = Новый Файл("ВыгрузкаИзЗУПвБп"+"_"+Дата+"_"+Время+"."+"xml");<br> <br>ВременнаяТаблицаПравил = мУниверсальнаяВыгрузкаДанных.ТаблицаПравилВыгрузки.Скопировать();<br> <br>// Вначале нужно подготовить таблицу выгрузки<br> <br> Для Каждого СтрокаУровня2 Из ВременнаяТаблицаПравил.Строки Цикл<br>       Наименование = СтрокаУровня2.Имя;<br>       Если Наименование = "ЗарплатаКВыплатеОрганизаций" Тогда<br>                   СтрокаУровня2.Включить = 1;<br>       КонецЕсли;<br> КонецЦикла;<br>       <br> мУниверсальнаяВыгрузкаДанных.ИмяФайлаОбмена = ИмяФайлаДанных;<br> мУниверсальнаяВыгрузкаДанных.ВыполнитьВыгрузку();<br><br>КонецПроцедуры<br>"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №2
 
04.12.2008 09:28

По определенным правилам выгружаете?

s_mario
читатель
офлайн
Дата регистрации: 03.12.2008
Сообщений: 3
Пост №3
 
04.12.2008 09:52

"Вот что у меня получилось но никак не пойму как в УниверсальныйОбменДаннымиXML передать настройки отбора <br>выгружает все документы подряд в самой процедуре отбор правильный вот его и надо пеередать<br><br><br>Процедура ДействияФормыВыгрузкаВедомости(Кнопка)<br> //ГАУИ.ВыгрузкаВедомостиВБП();<br> <br> Перем мУниверсальнаяВыгрузкаДанных;<br><br> мУниверсальнаяВыгрузкаДанных = Обработки.УниверсальныйОбменДаннымиXML.Создать();<br> //мУниверсальнаяВыгрузкаДанных = ВнешниеОбработки.Создать("<Указать путь к обработке>"); // <br> <br>       <br> // Получим файл правил для выгрузки<br> <br> ПустьКФайлуПравил = НайтиФайлы("\\Buh\1с базы\Обмен\Правила выгрузки ведомости из ЗУП в БП", "ПравилаВыгрузкиИзЗУПвБП.xml");<br> <br> // Загрузка в универсальную обработку XML правил обмена<br> <br> мУниверсальнаяВыгрузкаДанных.ИмяФайлаПравилОбмена = ПустьКФайлуПравил[0].ПолноеИмя;<br> мУниверсальнаяВыгрузкаДанных.РежимОбмена = "Выгрузка";<br> мУниверсальнаяВыгрузкаДанных.ЗагрузитьПравилаОбмена();<br> <br> //Задать имя файла данных<br> <br> <br> ДатаДок = Формат(Дата,"ДФ=yyyy-MM-dd");<br> ВремяДок = СтрЗаменить(Формат(Дата,"ДЛФ=T"),":","""");<br> ИмяФайлаДанных = Новый Файл("\\Buh\1с базы\Обмен\ИзЗУПвБП\"+ДатаДок+"_"+ВремяДок+"."+"xml");<br> мУниверсальнаяВыгрузкаДанных.ИмяФайлаОбмена = ИмяФайлаДанных.ПолноеИмя;<br> <br> ВременнаяТаблицаПравил = мУниверсальнаяВыгрузкаДанных.ТаблицаПравилВыгрузки.Скопировать();<br> <br> // Вначале нужно подготовить таблицу выгрузки<br> <br> <br> Для Каждого СтрокаУровня2 Из ВременнаяТаблицаПравил.Строки[0].Строки Цикл<br>       Наименование = СтрокаУровня2.Имя;<br>       Если Наименование = "ЗарплатаКВыплатеОрганизаций" Тогда<br>                   СтрокаУровня2.Включить = 1;<br>       КонецЕсли;<br> КонецЦикла;<br> мУниверсальнаяВыгрузкаДанных.ТаблицаПравилВыгрузки = ВременнаяТаблицаПравил.Скопировать();<br> <br> Для Каждого СтрокаУровня2 Из ВременнаяТаблицаПравил.Строки[0].Строки Цикл<br>       Наименование = СтрокаУровня2.Имя;<br>       Если Наименование = "ЗарплатаКВыплатеОрганизаций" Тогда<br>            ТекущееПВД = СтрокаУровня2;<br>            <br>            Построитель = Новый ПостроительОтчета;<br>            Если ТекущееПВД.ИмяОбъектаДляЗапроса <> Неопределено Тогда<br>             <br>             //Свойства = Менеджеры[ТекущееПВД.ОбъектВыборки];<br> <br>             <br>             Построитель.Текст = "ВЫБРАТЬ Разрешенные _.* ИЗ " + ТекущееПВД.ИмяОбъектаДляЗапроса + " КАК _ <br>             |<br>             |<br>             |{ГДЕ _.Ссылка.* КАК " + СтрЗаменить(ТекущееПВД.ИмяОбъектаДляЗапроса, ".", "_") + "}";<br>             <br>             <br>            КонецЕсли;<br>            <br>            Отбор = Построитель.Отбор;<br>            Если Отбор.Найти("Документ_ЗарплатаКВыплатеОрганизаций") = Неопределено Тогда<br>             Отбор.Добавить("Документ_ЗарплатаКВыплатеОрганизаций");<br>            КонецЕсли;<br>            <br>            Массив = Новый Массив;<br>            Массив.Добавить(Тип("ДокументСсылка.ЗарплатаКВыплатеОрганизаций"));<br>            ОписаниеТиповС = Новый ОписаниеТипов(Массив, , );<br>            <br>            Отбор["Документ_ЗарплатаКВыплатеОрганизаций"].Использование = Истина;<br>            Отбор["Документ_ЗарплатаКВыплатеОрганизаций"].Значение = ЭтотОбъект.Ссылка;<br>            Отбор["Документ_ЗарплатаКВыплатеОрганизаций"].ВидСравнения = ВидСравнения.Равно;<br>            <br>            Если Построитель.Отбор.Количество() > 0 Тогда<br>             ТекущееПВД.НастройкиПостроителя = Построитель.ПолучитьНастройки();<br>             ТекущееПВД.ИспользоватьОтбор = ИСТИНА;<br>            КонецЕсли;<br>       КонецЕсли; <br> КонецЦикла;<br> <br> //<br> <br>Вот тут надо как-то передать настройки отбора невъеду как сделать помогите<br>       //<br> <br> мУниверсальнаяВыгрузкаДанных.ВыполнитьВыгрузку();<br><br>КонецПроцедуры<br>"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №4
 
04.12.2008 11:07

"Пожет поможет.<br>Вот в 7.7 делалось так:<br><br>СписокПараметров = СоздатьОбъект("СписокЗначений");<br>СписокПараметров.Установить("ТаблицаОбъектов", гТабОбъектов);<br>СписокПараметров.Установить("ИмяФайлаПравил", гПутьОбъекта_ПравилаКонвертации);<br>СписокПараметров.Установить("ИмяФайлаДанных", ФормИмяФайлаДанных);<br>СписокПараметров.Установить("ВыгружатьТолькоУказанные", 0);<br>СписокПараметров.Установить("ВключатьПравилаВФайл", 1);<br>СписокПараметров.Установить("НеОбрабатыватьПроведение", 0);<br>СписокПараметров.Установить("ФормФлНеВыгружатьБухИтоги",1);<br>СписокПараметров.Установить("БезОткрытияФормы", 1);<br>СписокПараметров.Установить("ПравилаКонвертации", гПравила);<br> <br>СписокПараметров.Установить("ФормДатаНач", ДатаНач);<br>СписокПараметров.Установить("ФормДатаКон", ДатаКон);<br> <br>Если Найти(гПутьОбъекта_УниверсальнаяОбработкаВыгрузки, ".ert") > 0 Тогда<br> ОткрытьФорму("Отчет", СписокПараметров, гПутьОбъекта_УниверсальнаяОбработкаВыгрузки);<br>Иначе<br> ОткрытьФорму(гПутьОбъекта_УниверсальнаяОбработкаВыгрузки, СписокПараметров);<br>КонецЕсли;<br><br>Ключевое место: гТабОбъектов. Это таблица с колонками:<br>гТабОбъектов = СоздатьОбъект("ТаблицаЗначений");<br>гТабОбъектов.НоваяКолонка("ИдПравила");<br>гТабОбъектов.НоваяКолонка("Тип");<br>гТабОбъектов.НоваяКолонка("Вид");<br>гТабОбъектов.НоваяКолонка("СписокОбъектов");<br><br>Пихаешь в нее все нужные объекты и все. Если ИдПравила будет пустым, то по алгоритму автоподбор правил будет."

s_mario
читатель
офлайн
Дата регистрации: 03.12.2008
Сообщений: 3
Пост №5
 
04.12.2008 11:28

у меня параметра тока 2 ДатаНач и ДатаКон все остальное через построитель составлються вот я в своей процедуре и сделал отбор так же как и в типовой обработки, получаю конкретный документ а как теперь его передать в настройки в обработку обмена вот загадка. Присвоить отбору свой отбор я не могу т.к. этот параметр тока чтение :(

rfhnjy00
читатель
офлайн
Дата регистрации: 06.01.2010
Сообщений: 1
Пост №6
 
06.01.2010 17:08

"Перед выгрузкой еще раз надо:<br>мУниверсальнаяВыгрузкаДанных.ТаблицаПравилВыгрузки = ВременнаяТаблицаПравил.Скопировать();<br><br>И все работает."

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация