Обработка загрузки документов Операция из mxl таблицы
Доброго времени суток, уважаемые коллеги! В этой заметке рассказано об обработке, которая загружает документы 1С ОперацияБух из табличного документа .mxl в базу данных 1С конфигурации Бухгалтерский учет для государственных учреждений Казахстана, редакции 2.0.22.11 на управляемых формах. Думаю, что и для других подобных конфигураций ее можно использовать. Обработка позволяет загрузить данные, выбрав файл табличного документа 1С формата mxl. Не так давно на этом сайте была выложена обработка для отправки электронной почты из 1С.
- Описание работы загрузки операций из табличного документа
- Часть программного кода обработки на встроенном языке 1С
- Демонстрация работы обработки 1С для загрузки из табличного документа mxl
Описание работы загрузки операций из табличного документа
Обработка позволяет загрузить данные, используя табличный документ одинэсовского формата mxl.
- Скачайте обработку и шаблон с данными по ссылке в конце статьи.
- Затем откройте её в режиме 1С:Предприятие 8.
- Перейдите к пункту меню «Файл» | «Открыть…» (Ctrl+O).
- После открытия нужно найти подготовленный файл mxl, который приложен к загрузке обработки.
- После этого нужно выбрать этот файл в диалоге открытия, чтобы были созданы документы Операция.
Заполнение данных проводок документа Операция происходит из табличного документа, который нужно подготовить заранее. Данные субконто дебета или кредита будут найдены либо по коду, либо по наименованию. Важно, чтобы код содержал только числовые символы.
Часть программного кода обработки на встроенном языке 1С
Когда вы выбираете файл, то срабатывает процедура Загрузить и выполняется следующий код:
&НаСервере Процедура Загрузить() ТабДок = Новый ТабличныйДокумент; ТабДок.Прочитать(Путь); ПЗ = Новый ПостроительЗапроса; ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область());//передаем ТЗ ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять; ПЗ.ЗаполнитьНастройки(); ПЗ.Выполнить(); ТЗ = ПЗ.Результат.Выгрузить(); Сумма = 0; ОперацияСсылка = Документы.ОперацияБух.ПустаяСсылка(); Для каждого Страница Из ТЗ Цикл ... Движения = ОперацияБух.Движения.Типовой; Движения.Записывать = Истина; РегЗапись = Движения.Добавить(); РегЗапись.Период = НачалоГода(ТекущаяДата()); РегЗапись.Регистратор = ОперацияСсылка; РегЗапись.ИсточникФинансирования = ИсточникФинансирования; СуммаПроводки = Число(СтрЗаменить(СокрЛП(Страница["Сумма"]), Символы.НПП, "")); РегЗапись.Сумма = СуммаПроводки; РегЗапись.Активность = Истина; ДобавитьПроводку(Страница, РегЗапись); ДобавитьПроводку(Страница, РегЗапись, "Кт"); Сумма = Сумма + СуммаПроводки; КонецЦикла; Если НЕ ОперацияСсылка.Пустая() Тогда ОперацияБух.СуммаОперации = Сумма; ОперацияБух.Записать(РежимЗаписиДокумента.Запись); КонецЕсли; КонецПроцедуры
Здесь опубликован не весь программный код обработки для загрузки документов Операция, используя табличный документ формата xml. Но его можно увидеть, да и опробовать саму эту обработку, если скачать по ссылке. Если вы хотите вставлять данные напрямую из буфера обмена, без использования табличного документа, тогда обратите внимание на обработку документов Реализация товаров из Excel. Если у вас другие данные или другая конфигурация, то мы можем помочь изменить обработку под ваши нужды, обращайтесь.