Загрузка данных (справочник, документ) через буфер обмена

19.03.10

Интеграция - Загрузка и выгрузка в Excel

Первая в мире однокнопочная обработка, мечта юзера!

Расскажу, как я кардинально упростил загрузку разнообразных данных из Экселя...

Раньше как было? Берем обработку по загрузке, достаем из почты экселевский файл, кидаем его где-то на диск, указываем путь к файлу в обработке, нач.-кон. строки (файлы то разные бывают, где начало где конец автоматически не всегда определишь), номера колонок с данными, загружаешь... Короче, возня.

А с классом БуферОбмена из 1С++ все сильно упрощается!

Открываем экселевский файл, копируем в буфер нужные колонки, в обработке жмем "Сформировать", проверяем в ТЗ корректность загрузки, и готово!

Шаблон обработки у меня лежит в шаблонах текста, под нужный документ или справочник все дописывается быстро

 

 

// ===============================
Процедура УстановитьАтрибуты(Спр,ТЗ)
    Для Инд=2 По ТЗ.КоличествоКолонок() Цикл
        Имя=ТЗ.ПолучитьПараметрыКолонки(Инд);
        Зн=ТЗ.ПолучитьЗначение(ТЗ.НомерСтроки,Инд);
        тСообщ="";
        Если ПустоеЗначение(Зн)=0 Тогда
            Попытка
                Спр.УстановитьАтрибут(Имя,Зн);    
                тСообщ=тСообщ+СимволТабуляции+Имя+" = "+Зн;
            Исключение КонецПопытки;
        КонецЕсли;
    КонецЦикла;
    Сообщить(""+Спр+тСообщ);
КонецПроцедуры    //УстановитьАтрибуты

// ===============================
Функция ВернутьЧисло(Стр,Ном)
    Возврат Число(СтрЗаменить(СокрЛП(СтрПолучитьСтроку(Стр,Ном)),",","."));   
КонецФункции //ВернутьЧисло        

// ===============================
Функция ВернутьСтроку(Стр,Ном)
    Возврат СокрЛП(СтрПолучитьСтроку(Стр,Ном));   
КонецФункции //ВернутьЧисло        

//*******************************************
Процедура Сформировать()
    Буф=СоздатьОбъект("БуферОбмена");
    БуферОбмена=Буф.Получить();
    
    Спр=СоздатьОбъект("Справочник.Товары");
    
    ТЗ =СоздатьОбъект("ТаблицаЗначений");
    ТЗ.НоваяКолонка("Товар","Справочник.Товары");
    ТЗ.НоваяКолонка("Вес","Число",10,3);
    
    Для Сч=1 По СтрКоличествоСтрок(БуферОбмена) Цикл
        Стр = СтрЗаменить(СтрПолучитьСтроку(БуферОбмена,Сч),СимволТабуляции,РазделительСтрок);
        Код = СокрЛП(СтрПолучитьСтроку(Стр,1));
       
        Если Спр.НайтиПоРеквизиту("КодПроизводителя",Код,1)=1 Тогда
            ТЗ.НоваяСтрока();
            ТЗ.Вес = ВернутьЧисло(Стр,2);
            Если ПустоеЗначение(ТЗ.Вес)=1 Тогда
                ТЗ.УдалитьСтроку(ТЗ.НомерСтроки);
            КонецЕсли;
        Иначе
            Сообщить("Не нашли "+Код,"!");
        КонецЕсли;        
    КонецЦикла;    
    
    Если ТЗ.ВыбратьСтроку()<>1 Тогда
        Возврат;
    КонецЕсли;
    
    НачатьТранзакцию();
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл
        Если Спр.НайтиЭлемент(ТЗ.Товар)=1 Тогда
            УстановитьАтрибуты(Спр,ТЗ);
            Спр.Записать();
        КонецЕсли;
    КонецЦикла;
    ЗафиксироватьТранзакцию();
КонецПроцедуры  



Компоненту 1С++ брать тут http://www.1cpp.ru/images/3/32/Icpp-latest.rar


См. также

Банковские операции Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v7.7 1C77 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    23357    16    22    

17

Загрузка и выгрузка в Excel Программист Платформа 1С v7.7 Абонемент ($m)

Сводная таблица Excel из 1С - как сделать ее программно через COM соединение.

1 стартмани

30.07.2021    6840    2    atdonya    1    

2

Загрузка и выгрузка в Excel ККМ Программист Бухгалтер Пользователь Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Бухгалтерский учет Управленческий учет Абонемент ($m)

Выполняет выгрузку товаров (всех, только с признаком в прайсе, только из указанной папочки) с гибкой настройкой выгружаемых данных. Формируется файл в формате XLSX подходящий для прямой удаленной загрузки в кассовый аппарат АТОЛ 91Ф/92Ф и им подобных, имеющих управление через Личный кабинет АТОЛ (lk.atol.ru).

1 стартмани

31.01.2021    8401    2    &-rey    1    

4

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Программист Пользователь Платформа 1С v7.7 1С:Комплексная 7.7 Управленческий учет Абонемент ($m)

Обработки группового дополнения данных о номенклатуре. Ввод веса и объема существующих товаров вручную в форму таблицы значений и затем запись в справочник Номенклатуры и Единиц. Закачка весов и объемов существующих товаров из Эксель в справочник Номенклатуры и Единиц. Загрузка внешних кодов товаров из Эксель в справочник Номенклатуры. Редактирование внешних кодов товаров в форме списка. Дозаполнение реквизитов существующих товаров из Эксель (ключевые поля - штрихкод, наименование, внешний код).

1 стартмани

11.10.2019    12151    2    ksnik    2    

2

Оптовая торговля Загрузка и выгрузка в Excel Пользователь Платформа 1С v7.7 1C77 Оптовая торговля, дистрибуция, логистика Управленческий учет Абонемент ($m)

В данной публикации приведены примеры обработок обмена дистрибьютора с поставщиками и покупателями через Эксель. Создание товаров-новинок. Автоматическое формирование Заказа поставщику по продажам. Заполнение бланка заказа поставщику. Загрузка приходной накладной от поставщика. Загрузка любых справочников из Эксель, например товарных сертификатов. Выгрузка прайслиста в бланк заказа (создание бланка заказа). Загрузка заявки покупателя из произвольного файла Эксель. Загрузка заявки покупателя из бланка заказа.. Для работы требуется установленный MS Excel.

1 стартмани

08.09.2019    16622    10    ksnik    2    

3

Загрузка и выгрузка в Excel Перенос данных 1C Программист Пользователь Платформа 1С v7.7 Платформа 1С v8.3 1C:Бухгалтерия 1C77 1С:ERP Управление предприятием 2 Абонемент ($m)

Описание технологии загрузки любых адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3 на примере ERP. Предлагаемый способ просто чудо, он гарантирует результат, он очень простой и качественный! Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение "Дом №" и "Корпус", благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС - заполняется область, город, улица, дом, корпус.. все раскладывается само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С!

1 стартмани

16.08.2019    19793    19    ksnik    12    

8

Загрузка и выгрузка в Excel Оптовая торговля Розничная торговля Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Комплексная 7.7 1С:ERP Управление предприятием 2 Управленческий учет Абонемент ($m)

Описание практического опыта переноса данных из двух устаревших учетных систем в одну современную с обобщением справочников (например номенклатуры, контрагентов, партнеров) и объединением учетных данных устаревших систем в единую новую УС применяя комбинацию стандартной загрузки из Эксель и КД2. Данная публикация является примером переноса данных из сильно устаревших и сильно переписанных конфигураций 1С:Предприятия 7.7 и 8 в современную 1С 8.3 своими силами при условии невозможности или нежелания пользоваться обновлением релизов и типовой функциональностью универсального обмена данными типовых мастеров переноса данных. Отличительной особенностью публикации является устранение зависимости от версий релиза конфигураций, отказ от обновлений устаревших конфигураций.

1 стартмани

29.07.2019    21674    17    ksnik    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vcv 89 01.03.10 15:27 Сейчас в теме
Мелочь - а приятно. Плюс.
2. Noy 1079 01.03.10 17:13 Сейчас в теме
Плюс за правильную идею.
3. anton.fly7 175 02.03.10 09:26 Сейчас в теме
а класс где мона взять?
хотелось бы попробовать
4. Alexsisit 206 03.03.10 06:00 Сейчас в теме
класс не скачиваеться ((. кодировка какая-то открываеться и все
7. mikukrnet 182 03.03.10 10:36 Сейчас в теме
(4) Качаете http://www.1cpp.ru/images/3/32/Icpp-latest.rar, устанавливаете, там же на сайте есть документация. Компонента бесподобная, пригодится еще 100 раз
5. prolog 03.03.10 09:40 Сейчас в теме
А возможно что-то подобное в 1C Предприятие 8? :|
8. mikukrnet 182 03.03.10 10:38 Сейчас в теме
(5) Видел тут компоненту с исходниками реализующую работу с буфером обмена. Наверняка можно заставить ее работать в 8-ке
6. Pavel-1c 3 03.03.10 09:47 Сейчас в теме
За идею, может быть очень полезна.
9. Styvi 6 17.03.10 18:58 Сейчас в теме
Не пользуюсь буфером (нет возможности при нашем объёме данных), но вещь полезная :)
Плюс...
10. mikukrnet 182 19.03.10 14:05 Сейчас в теме
А как тут раскрашивать текст?

В каментах - легко, а в статье?
11. AvalonE2008 101 02.04.10 10:03 Сейчас в теме
И все таки про 8-ку ответа не последовало. Никто не сталкивался?
Оставьте свое сообщение