1С7.7:Загрузка данных из файла Excel в табличную часть документа.

26.07.09

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

1С7.7:Загрузка данных из файла Excel в табличную часть документа.
Обработка для конфигурации "Бухгалтерский учет для Украины".

Скачать файл

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

Наименование По подписке [?] Купить один файл
файл.ert
.1248636569 150,14Kb
279
279 Скачать (1 SM) Купить за 1 850 руб.

1С7.7:Загрузка данных из файла Excel в табличную часть документа.
Обработка для конфигурации "Бухгалтерский учет для Украины".

Для работы необходима внешняя компонента Formex. Взять можно здесь
http://www.dorex.pro/files/?formex_t.zip
и положить файл FormEx.dll в каталог с базой. Прописывать в глобальном модуле ничего не надо.

Инструкция по встраиванию в конфу находится в обработке на закладке "Описание" (в конфигураторе). Внедряется за 5 мин.

Настройка для использования интуитивно-понятна.

См. также

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

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

3588 руб.

29.07.2021    23823    16    22    

17

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

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

1 стартмани

30.07.2021    6914    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    8459    3    &-rey    1    

4

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

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

1 стартмани

11.10.2019    12210    2    ksnik    2    

2

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

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

1 стартмани

08.09.2019    16683    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    19887    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    21793    17    ksnik    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tatitutu 3849 27.07.09 09:12 Сейчас в теме
вот это сильно

// Список нужен для отображения чередования строк в таблице тбТМЦ. Четной или не четной строке
// cоответствует свой цвет фона строки. У кого количество строк в таблице превышает 400 допишите числа сами,
// или заполняйте список по алгоритму.
спЧетныеСтроки = СоздатьОбъект("СписокЗначений");
спЧетныеСтроки.ИзСтрокиСРазделителями("2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,
|102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,
|202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,
|302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,");

Совет доделай до универсальной:
- глВосстановитьЗначение()
- вариант с Formex и без

4. Арчибальд 2709 27.07.09 09:22 Сейчас в теме
(1) Такие вещи минуса просят. Применять формекс, и не знать о существовании циклов (если уж приспичило иеть СписокЗначений)...
2. Tatitutu 3849 27.07.09 09:18 Сейчас в теме
ты спЧетныеСтроки - тип список значений используешь для
проверки четная строка или нет,это немного неправильно и намного дольше
и не универсально

попробуй заменить

Если спЧетныеСтроки.Принадлежит(ТекСтрока) = 1 Тогда

замени на

если (ТекСтрока%2)>0 Тогда
3. Арчибальд 2709 27.07.09 09:19 Сейчас в теме
5. Tatitutu 3849 27.07.09 09:26 Сейчас в теме
(3) Согласен.Спасибо

если (ТекСтрока%2)>0 Тогда //нечетная строка 1,3,5,7,9
если (ТекСтрока%2)=0 Тогда //четная строка 2,4,6,8

(4) первая разработка. Видно самостоятельно делал - там столько награмождено - "оптимизировать и оптимизировать"
но как гороворится "Песенка не новая, но зато своя" . Авансом.
6. Арчибальд 2709 27.07.09 09:34 Сейчас в теме
(5) А я в профиле автора статью почитал. Или не про себя пишет?
7. Tatitutu 3849 27.07.09 09:38 Сейчас в теме
(6) ну то статья, а это разработка ))))
Поставил бы минус их бы уже штук пять не меньше было.
Подождем комментарии автора.
8. Арчибальд 2709 27.07.09 09:41 Сейчас в теме
(7) Вот потому я и не ставлю ;))
9. Ish_2 1115 27.07.09 10:35 Сейчас в теме
(8) А вот стал просматривать новые работы.
Впечатление тяжёлое.
Вроде бы надо поощрять новых авторов, а рука не поднимается.
10. script 128 28.07.09 00:38 Сейчас в теме
Даже и незнаю чего Вам комментировать. Из критики ясно то что обработку смотрели программисты а не пользователи. Если весь вопрос только в спЧетныеСтроки, то я не думаю что из-за того что я нестал реализовывать это циклом или остатком от деления или еще как стоит так печалится. Объясните это моему клиенту и он подумает что вы сами ничего не понимаете, кроме того я на этой обработке уже заработал 200$.
И вот результат: я заработал-клиент доволен.
О чем еще говорить... Кому нужна универсальность в коде - сами ее зделайте. Для этого и выкладывается и с открытым кодом.
11. script 128 28.07.09 01:13 Сейчас в теме
Кстати. Спасибо Tatitutu. За остаток от деления. Я про эту возможность в 1С совсем забыл.
12. tmixsam 56 04.06.10 11:48 Сейчас в теме
Идея сама по себе хорошая. Но применение не универсальное, под каждую свою задачу надо дорабатывать. За идею ставлю плюс.
13. bonni80@mail.ru 07.10.11 03:49 Сейчас в теме
Это самое лучшее, чтоможно было придумать!
14. xDee 19.12.11 21:52 Сейчас в теме
Это самое лучшее, чтоможно было придумать!
15. popro 07.02.14 17:12 Сейчас в теме
только у меня "описание" отсутствует?
16. serge_focus 4 14.10.14 20:52 Сейчас в теме
Спасибо за обработку, попробую прикрутить .
Только на http://www.dorex.ru/files/?formex_t.zip -уже файла нет.
17. user1887561 22.12.22 06:20 Сейчас в теме
Фото
&НаКлиенте
Процедура путьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.МножественныйВыбор = Ложь;
    Диалог.Заголовок = "Выберите картинку для загрузки";
    Диалог.Фильтр = "Рисунок PNG(*.png)|*.png"; 
    Если Диалог.Выбрать() Тогда
        Путь = Диалог.ПолноеИмяФайла;
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура загрузить(Команда)
    Файл = Новый Файл(Путь);
    Если Файл.Существует() Тогда 
        ДД = Новый ДвоичныеДанные(Путь);
        ЗагрузитьНаСервере(ДД);
        ЭтаФорма.Модифицированность = Ложь;
        ОбновитьКартинку();
    Иначе
        Сообщить("Выберите файл картинки");
    КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ЗагрузитьНаСервере(ДД)
    Хранилище = Новый ХранилищеЗначения(ДД);
    Об = РеквизитФормыВЗначение("Объект");
    Об.Изображение = Хранилище;
    Об.Записать();
    ЗначениеВРеквизитФормы(Об,"Объект");      
КонецПроцедуры

&НаСервере
Процедура ОбновитьКартинку()
    Картинка = ПоместитьВоВременноеХранилище(Объект.Ссылка.Изображение.Получить(), УникальныйИдентификатор);
КонецПроцедуры


&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ОбновитьКартинку();
КонецПроцедуры 


Добавление пользователей:
&НаСервере
функция запись()
    НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
    НовыйПользователь.Имя = Объект.логин;
    НовыйПользователь.ПолноеИмя = Объект.Наименование;
    НовыйПользователь.АутентификацияСтандартная = Истина;
    НовыйПользователь.Пароль = "";
    если объект.роль=Перечисления.роли.администратор тогда
        НовыйПользователь.Роли.Добавить(Метаданные.Роли.Администратор);
    иначеесли объект.роль=Перечисления.роли.менеджер_по_закупкам тогда
        НовыйПользователь.Роли.Добавить(Метаданные.Роли.менеджер_по_закупкам);
        
    иначеесли объект.роль=Перечисления.роли.менеджер_по_продажам тогда
        НовыйПользователь.Роли.Добавить(Метаданные.Роли.менеджер_по_продажам);
        
    иначе
        НовыйПользователь.Роли.Добавить(Метаданные.Роли.мастер);
    конецесли;
    НовыйПользователь.Язык = Метаданные.Языки.Русский;
    НовыйПользователь.Записать(); 
конецфункции
Показать
18. user1887561 22.12.22 06:21 Сейчас в теме
Excel
&НаКлиенте
Процедура путькфайлуНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    //Чтобы нельзя было выбрать несколько файлов одновременно
    Диалог.МножественныйВыбор = Ложь;
    Диалог.Заголовок = "Выберите файл для загрузки";
    //Чтобы выбирались только файлы нужного расширения
    Диалог.Фильтр = "Табличный документ Excel 2003(*.xls)|*.xls|Табличный документ Excel(*.xlsx)|*.xlsx"; 
    //Если выбран файл, то сохраняем путь к нему
    Если Диалог.Выбрать() Тогда
        ПутьКФайлу = Диалог.ПолноеИмяФайла;
    КонецЕсли
КонецПроцедуры

&НаКлиенте
Процедура Загрузить(Команда)
    Если Не ЗначениеЗаполнено(ПутьКФайлу) Тогда
        Сообщить("Файл не выбран");
    Иначе
        ЗагрузитьНаСервере();
        //Отобразим загруженные данные
        Элементы.Список.Обновить();
    КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ЗагрузитьНаСервере()
    //подключаемся к эксел
    Попытка
        Excel = Новый COMОбъект("Excel.Application");
        Excel.WorkBooks.Open(ПутьКФайлу);
    Исключение
        Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!");
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    Попытка
        //Открываем необходимый лист
        Excel.Sheets(1).Select(); // лист 1, по умолчанию
    Исключение
        //Закрываем Excel
        Excel.ActiveWorkbook.Close();
        Excel = 0;
        Сообщить("Файл "+Строка(ПутьКФайлу)+" не соответствует необходимому формату! Первый лист не найден!");
        Возврат;
    КонецПопытки;
    НомерСтроки = 2;
    Создано = 0;
    Пока СокрЛП(Excel.Cells(НомерСтроки,1).Text)<> "" Цикл 
        Код = Excel.Cells(НомерСтроки,9).Text;
        Спр = Справочники.материалы.НайтиПоКоду(Код);
        //Проверка на существование элемента с таким кодом                
        Если Не ЗначениеЗаполнено(Спр) Тогда
            НовыйСпр = Справочники.материалы.СоздатьЭлемент();
            //Код
            НовыйСпр.Код = Код;
            новыйспр.артикул=Excel.Cells(НомерСтроки,1).Text;
            //Наименование
            НовыйСпр.Наименование = Excel.Cells(НомерСтроки,2).Text;
            Если пустаястрока(справочники.единицы_измерения.найтипонаименованию(Excel.Cells(номерстроки,3).Text)) Тогда
                новая_единица=справочники.единицы_измерения.СоздатьЭлемент();
                новая_единица.Наименование=Excel.Cells(НомерСтроки,3).Text;
                новая_единица.Записать();
            КонецЕсли; 
            Попытка
                НовыйСпр.Записать();
                Создано = Создано+1;;
            Исключение
                Сообщить("Ошибка при записи элемента с кодом "+код);
            КонецПопытки;
        Иначе
            Сообщить("Элемент с кодом "+Код+" уже существует");
        КонецЕсли;
        НомерСтроки = НомерСтроки+1;
    КонецЦикла;
    Сообщить("Создано "+Создано+" эл.");
    //Закрываем Excel
    Excel.ActiveWorkBook.Close();
КонецПроцедуры
Показать
19. user1889409 11.04.23 11:13 Сейчас в теме
Загрузка фото:

&НаКлиенте
Процедура ФотоНажатие(Элемент, СтандартнаяОбработка)
	Оповещение = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтотОбъект);
	НачатьПомещениеФайла(Оповещение,  ,  ,Истина, УникальныйИдентификатор);
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьВыборФайла(Результат, Адрес, ВыбранноеИмяФайла,ДополнительныеПараметры) Экспорт 
    Если Не Результат Тогда 
        Возврат; 
    КонецЕсли; 
    Фото = Адрес; 
КонецПроцедуры        

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	Если ЭтоАдресВременногоХранилища(Фото) Тогда
		ТекущийОбъект.Фото = Новый
		ХранилищеЗначения (ПолучитьИзВременногоХранилища(Фото));
	КонецЕсли;
КонецПроцедуры   

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)  
	Фото = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Фото");
КонецПроцедуры
Показать
20. Rsdaction 19.05.23 11:56 Сейчас в теме
Загрузку лучше так сделать


&НаКлиенте
Процедура ИзображениеНажатие(Элемент, СтандартнаяОбработка)
	  СтандартнаяОбработка = Ложь; 
	Режим = РежимДиалогаВыбораФайла.Открытие; 
	ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); 
	ДиалогОткрытия.ПолноеИмяФайла = ""; 
	Фильтр = "Рисунок PNG(*.png)|*.png|Рисунок JPG(*.jpg)|*.jpg"; 
	ДиалогОткрытия.Фильтр = Фильтр; 
	ДиалогОткрытия.МножественныйВыбор = Ложь; 
	ДиалогОткрытия.Заголовок = "Выберете файл для загрузки"; 
	ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗагрузкиФайла",ЭтаФорма); 
	ДиалогОткрытия.Показать(ОписаниеОповещения);
КонецПроцедуры 

&НаКлиенте 
Процедура ПослеЗагрузкиФайла(ВыбранныйФайл,ДопПараметр) Экспорт 
	Если ВыбранныйФайл = Неопределено Тогда 
		Возврат; 
	КонецЕсли; 
	ОписаниеОповещения = Новый ОписаниеОповещения("ПослеПомещенияФайла", ЭтаФорма); 
	НачатьПомещениеФайла(ОписаниеОповещения,, ВыбранныйФайл[0], Ложь, УникальныйИдентификатор); 
КонецПроцедуры

&НаКлиенте 
Процедура ПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмяФайла,ДопПараметры) Экспорт 
	Если Не Результат Тогда 
		Возврат; 
	КонецЕсли; 
	Изображение = Адрес; 
	Модифицированность = Истина; 
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	Если ЭтоАдресВременногоХранилища(Изображение)  Тогда 
		ФайлКартинки = ПолучитьИзВременногоХранилища(Изображение); 
		ТекущийОбъект.Изображение = Новый ХранилищеЗначения(ФайлКартинки); 
		УдалитьИзВременногоХранилища(Изображение); 
		Изображение = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Изображение"); 
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Изображение = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Изображение");
КонецПроцедуры
Показать
Оставьте свое сообщение