|
прочитать MXL и записать данные вТЗ | ☑ | ||
---|---|---|---|---|
0
Dimarik_1
25.04.16
✎
17:57
|
мне нужно прочитать MXL и сохранить данные в таблицу значений. первый mxl файл получен сохранением отчета "Книга продаж" в бухгалтерии 3.0, а второй - в торговле 10.3.
Задача - получить и из того и из другого таблицу значений. С данными из бухгалтерии все более-менее нормально, и с торговлей какой-то шлак получается. Полагаю что здесь не совсем правильно сделано ТабДок = Новый ТабличныйДокумент; ТабДок.Прочитать(ИмяФайла); ПЗ = Новый ПостроительЗапроса; ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область()); ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять; ПЗ.ЗаполнитьНастройки(); ПЗ.Выполнить(); Вот весь код //загрузить файл с данными из БП 3.0 &НаКлиенте Процедура ЗагрузитьБП(Команда) // Вставить содержимое обработчика. Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "выберите файл"; Диалог.ПолноеИмяФайла = ""; Если Диалог.Выбрать() Тогда Массив =ПолучитьДанные(Диалог.ПолноеИмяФайла); Для Каждого Строка Из Массив Цикл НоваяСтрока = Бухгалтерия.Добавить(); НоваяСтрока.Документ = Строка; КонецЦикла; КонецЕсли; КонецПроцедуры Процедура ПрочитатьMXL(ИмяФайла) //Бухгалтерия = ПолучитьТЗ(ИмяФайла); КонецПроцедуры Функция ПолучитьДанные(имяФайла) ТабДок = Новый ТабличныйДокумент; ТабДок.Прочитать(ИмяФайла); ПЗ = Новый ПостроительЗапроса; ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область()); ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять; ПЗ.ЗаполнитьНастройки(); ПЗ.Выполнить(); ТЗ = ПЗ.Результат.Выгрузить(); Массив = ПолучитьСписокНомеров(ТЗ); Возврат Массив; КонецФункции Функция ПолучитьСписокномеров(ТЗ) Массив = Новый Массив; Для Каждого Строка ИЗ ТЗ Цикл НоваяСтрока = Строка.ПомощникПоУчетуНДС; Индекс2016 = Найти(НоваяСтрока,"2016"); Если Индекс2016 > 0 Тогда Индекс = Найти(НоваяСтрока, ";")-1; СтрокаСНомером = Лев(НоваяСтрока, Индекс); Массив.Добавить(СтрокаСНомером); КонецЕсли; КонецЦикла; возврат Массив; КонецФункции //загрузить файл с данными из УТ 10.3 &НаКлиенте Процедура ЗагрузитьУТ(Команда) // Вставить содержимое обработчика. Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "выберите файл"; Диалог.ПолноеИмяФайла = ""; Если Диалог.Выбрать() Тогда Массив =ПолучитьДанные(Диалог.ПолноеИмяФайла); Для Каждого Строка Из Массив Цикл НоваяСтрока = Торговля.Добавить(); НоваяСтрока.Документ = Строка; КонецЦикла; КонецЕсли; КонецПроцедуры Проблема в том, что не видны все нужные столбцы http://i79.fastpic.ru/big/2016/0425/c6/1ea07f280252a22900e739d03bc70fc6.jpg Вот исходные MXL с УТ http://rghost.ru/7HMvmL2kS |
|||
1
aleks_default
25.04.16
✎
18:00
|
Какой идиот сохраняет отчеты в mxl?
|
|||
2
Dimarik_1
25.04.16
✎
18:01
|
а в чем дело?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |