helpf.pro
Регистрация
 +5 
Распечатать

1С 8.x : Загрузка данных в документ из табличного документа (в ТД скопировано из Excel)

Частенько пользователи просят упростить ввод данных в программу используя копирование таблиц из Excel. Ниже я приведу пример как загрузить данные скопированные из Excel:

Создаем форму для загрузки данных:

внутри пишем код:

Код 1C v 8.х
 // Функция ПолучитьТЗИзМакета(ТабДок, КолонкаИндекса = 1)     
    ТаблицаДанных = Новый ТаблицаЗначений;
    НомерКолонки = 0;
    Пока Истина Цикл
        НомерКолонки = НомерКолонки + 1;
        ИмяКолонки = ТабДок.Область(1, НомерКолонки).Текст;
        Если ПустаяСтрока(ИмяКолонки) Тогда
            Прервать;
        КонецЕсли;        
        ТаблицаДанных.Колонки.Добавить("К"+Строка(НомерКолонки));
    КонецЦикла;
    
    СчетчикКолонок = НомерКолонки - 1;
    
    НомерСтроки = 1; ФлагПрерывания = Ложь;
    Пока Истина Цикл
        НомерСтроки = НомерСтроки + 1;
        Стр = ТаблицаДанных.Добавить();
        
        Для А = 1 ПО СчетчикКолонок Цикл
            ТекстКолонки = ТабДок.Область(НомерСтроки, А).Текст;
            Если ПустаяСтрока(ТекстКолонки) Тогда
                Если А = КолонкаИндекса Тогда
                    Флагпрерывания = Истина;
                    ТаблицаДанных.Удалить(Стр);
                КонецЕсли;
            Иначе
                Стр[А - 1] = ТекстКолонки
            КонецЕсли;
            
            Если Флагпрерывания Тогда
                Прервать
            КонецЕсли;
        КонецЦикла;
        
        Если Флагпрерывания Тогда
            Прервать
        КонецЕсли;
    КонецЦикла;
    
    Возврат ТаблицаДанных
КонецФункции

Процедура ОсновныеДействияФормыЗагрузить(Кнопка)
тзДанных=ПолучитьТЗИзМакета(ЭлементыФормы.ПолеТД);
Закрыть(тзДанных);
КонецПроцедуры

В документ добавлена кнопка  - Загрузка из Excel ее код:

Код 1C v 8.х
  //Функция преобразует строку вида 31.01.2015 в дату
Функция РазобратьДату(ИзмДата);
Возврат Дата(Сред(ИзмДата,7,4)+Сред(ИзмДата,4,2)+Сред(ИзмДата,0,2));      
КонецФункции

Процедура ЗагрузитьИзЕкселНажатие(Элемент)
тзДанных = ПолучитьФорму("ФормаЗагрузкиИзExcel").ОткрытьМодально();
//ТЗ получили, загружаем:
ГрафикПлатежейКлиент.Очистить();
Для Каждого стр из тзДанных Цикл 
нСтр = ГрафикПлатежейКлиент.Добавить();
нСтр.Дата = РазобратьДату(стр.К1);
нСтр.Сумма = стр.К2;
нСтр.СуммаАкта = стр.К3;
КонецЦикла;

КонецПроцедуры

Смысл в том что из Excel копируют таблицу:

Жмут на кнопку загрузить и в документе Табличная часть заполняется автоматически:

Разместил:   Версии: | 8.x |  Дата:   Прочитано: 15028
 +5 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C медленно работает по сети с базой на SQL Server 22
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П
1Cv8.1CD - Файл данных достиг максимального размера! 9
1С выдает предупреждение " Файл данных достиг максимального размера" . Подскажите из - за чего это и как можно решить ? Превышен размер файла, обычно это сообщение возникает, когда размер файла 1Cv8.1CD приближается к 10 гигабайтам или размер ка
1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
Excel файл как Внешний источник данных 16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . https://helpf.pro/uploads/img
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.