Универсальная загрузка из файла (без разрывов страниц)

28.06.12

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

В реальной жизни документы, которые присылаю в электронном виде сформированных в других информационных системах, в формате для печати на принтер (вставлены разрывы страниц, пустые строки, промежуточные итоги, шапки таблиц на новых листах и тд и тп). Загружает В Справочники, Табличные части документов, Регистр сведений.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ЗагрузкаДанныхИзТД81+.epf
.epf 62,21Kb
23 2 500 руб. Купить
ЗагрузкаДанныхИзТД82+.epf
.epf 64,36Kb
9 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Конечно, есть много статей в интернете как загрузить из файлов различных форматов в табличную часть документа. Даже 1С на диске ИТС «\1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument.epf». Но обычно все они оторваны от жизни или требуют дополнительные ручные манипуляции.


 

Инструкция по доработке обработки от 1С.


 

1. Добавляем кнопку на форме, например, «УбратьРазрывы». В обработчик «нажатия» вставляем текст и добавляем свою процедуру в модуле формы:


 
Процедура КоманднаяПанельТабличногоДокументаУбратьРазрывы(Кнопка)
        ПерваяСтрока = ПерваяСтрокаДанныхТабличногоДокумента;
        ТабличныйДокумент = ЭлементыФормы.ТабличныйДокумент;
        КоличествоСтрок = 999;         //Максимальная строка в документе
        КоличествоКолонок = 255;       //Максимальная колонка в документе 
        КолонкаНумерацииСписок = Новый Массив;
        КолонкаНумерации = 0;
        А = 1;
        
        Пока КолонкаНумерации = 0 Цикл 
               ПоискКолонкиНумерации(ТабличныйДокумент, ПерваяСтрока + А - 1, А, КолонкаНумерацииСписок);
               Если КолонкаНумерацииСписок.Количество() = 0 Тогда 
                       Прервать;                      
               ИначеЕсли КолонкаНумерацииСписок.Количество() = 1 Тогда 
                       КолонкаНумерации = КолонкаНумерацииСписок[0];
                       Прервать;
               КонецЕсли;
               А = А + 1
        КонецЦикла;;
        
        Если КолонкаНумерацииСписок.Количество() = 0 Тогда 
               Сообщить("Не удалось определить колонку нумерации.");
               Возврат;
        Иначе 
               КолонкаНумерации = КолонкаНумерацииСписок[0];
               //Сообщить("Колонка нумерации = " + КолонкаНумерации);
        КонецЕсли;
        
        ТаблицаРазрывов = Новый ТаблицаЗначений;
        ТаблицаРазрывов.Колонки.Добавить("НачалоРазрыва");
        ТаблицаРазрывов.Колонки.Добавить("КонецРазрыва");
        ТекущаяСтрока = 1;
        НачалоРазрыва = 0;
        КонецРазрыва = 0;
        
        Для А = ПерваяСтрока По КоличествоСтрок Цикл 
               Попытка
                       ТекущаяЯчейка = Число(ТабличныйДокумент.Область("r" + А + "c" + КолонкаНумерации).Текст);      
               Исключение
                       Если НачалоРазрыва = 0 Тогда 
                               НачалоРазрыва = А;     
                       КонецЕсли;
               КонецПопытки;
               
               Если ТекущаяЯчейка = ТекущаяСтрока Тогда 
                       Если НачалоРазрыва <> 0 Тогда 
                               КонецРазрыва = А - 1;
                               Строка = ТаблицаРазрывов.Добавить();
                               Строка.НачалоРазрыва = НачалоРазрыва;
                               Строка.КонецРазрыва = КонецРазрыва;
                               НачалоРазрыва = 0;
                       КонецЕсли;
                       ТекущаяСтрока = ТекущаяСтрока + 1;                           
               КонецЕсли;
        КонецЦикла;
        
        Если ТекущаяСтрока <> ТекущаяЯчейка Тогда 
               Строка = ТаблицаРазрывов.Добавить();
               Строка.НачалоРазрыва = НачалоРазрыва;
               Строка.КонецРазрыва = 0;
        КонецЕсли;     
        
        Если ТаблицаРазрывов.Количество() <> 0 Тогда 
               ТабличныйДокумент2 = Новый ТабличныйДокумент;
               Начало = 1;
               Для Каждого Элемент Из ТаблицаРазрывов Цикл 
                       Секция = ТабличныйДокумент.ПолучитьОбласть("R" + Начало + ":R" + (Элемент.НачалоРазрыва - 1));
                       ТабличныйДокумент2.Вывести(Секция);
                       Начало = Элемент.КонецРазрыва + 1;
               КонецЦикла;
               ТабличныйДокумент.Очистить();
               Секция = ТабличныйДокумент2.ПолучитьОбласть("R1:R" + (ПерваяСтрока - 1 + ТекущаяСтрока - 1));
               ТабличныйДокумент.Вывести(Секция);
        КонецЕсли;
КонецПроцедуры
 
Процедура ПоискКолонкиНумерации(ТабличныйДокумент, ПерваяСтрока, Значение, КолонкаНумерацииСписок)
        КолонкаНумерацииСписок2 = Новый Массив;
        
        Для а = 1 По 100 Цикл 
               Попытка
                       ТекущаяЯчейка = Число(ТабличныйДокумент.Область("r" + ПерваяСтрока + "c" + а).Текст);       
               Исключение
                       Продолжить;
               КонецПопытки;
               
               Если ТекущаяЯчейка = Значение Тогда 
                       КолонкаНумерацииСписок2.Добавить(а);                         
               КонецЕсли;
        КонецЦикла;
        
        Если КолонкаНумерацииСписок.Количество() = 0 Тогда 
               КолонкаНумерацииСписок = КолонкаНумерацииСписок2;
        Иначе 
               КолонкаНумерацииСписок3 = Новый Массив;
               Для Каждого Элемент из КолонкаНумерацииСписок2 Цикл 
                       Строка = КолонкаНумерацииСписок.Найти(Элемент);
                       Если Строка <> Неопределено Тогда 
                               КолонкаНумерацииСписок3.Добавить(Строка);     
                       КонецЕсли;
               КонецЦикла;
               КолонкаНумерацииСписок.Очистить();
               КолонкаНумерацииСписок = КолонкаНумерацииСписок3;
        КонецЕсли;
КонецПроцедуры

 

 

2. Инструкция по эксплуатации стандартной обработки //infostart.ru/public/97416/


 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.267.x) и БП 3.0 (3.0.194.x). Правила подходят для версии ПРОФ и КОРП.

38000 34200 руб.

15.12.2021    33444    250    64    

190

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    187440    356    288    

416

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    159525    955    317    

479

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

58000 руб.

29.10.2018    62341    80    131    

78

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.25.x).

38000 34200 руб.

23.07.2020    67269    313    94    

251

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16531 руб.

18.02.2016    202010    670    543    

561

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    83143    222    174    

161
Для отправки сообщения требуется регистрация/авторизация