Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Выгрузка данных из Excel в 1с. Не отображается табличный документ

Михаил Колупаев Профи (614), на голосовании 1 неделю назад
Нужно сделать выгрузку через реквизит "Путь к файлу" и кнопку, однако кнопка не реагирует после диалога. Вероятнее всего ошибка где-то в коде, но к сожалению, я ее не вижу, буду благодарен по помощь или подсказку, код оставляю ниже.

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

Оповещение=Новый ОписаниеОповещения("ПослеВыбораФайлов",ЭтотОбъект);
Диалог.Показать(Оповещение);
КонецПроцедуры

&НаКлиенте
Процедура ПослеВыбораФайлов(ВыбранныеФайлы,ДополнительныеПараметры) Экспорт

Если ВыбранныеФайлы=Неопределено Тогда
Возврат
КонецЕсли;
Объект.ПутьКФайлу=ВыбранныеФайлы[0];

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

&НаКлиенте
Процедура ПолучитьДоговора(Команда)
ПолучитьДоговораНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПолучитьДоговораНаСервере()

ТабДок=Новый ТабличныйДокумент;

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

КоличествоСтрок=ТабДок.ВысотаТаблицы;

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


Для НомерСтроки=2 по ДанныеФайла Цикл

СтрокаТаблица=ДанныеФайла.Добавить();
СтрокаТаблица.Дата=ТекущаяДата();
СтрокаТаблица.Номер=ТабДок.Область("R"+Формат(СтрокаТаблица,"ЧГ=0")+"С"+6).ТекущаяОбласть.Текст; ;
СтрокаТаблица.ТипДокумента=Документы.ДоговорРаботыУслуги;
СтрокаТаблица.Огранизация=Справочники.Организации.НайтиПоРеквизиту("ГоловнаяОрганизация");
СтрокаТаблица.Сотрудник=ТабДок.Область("R"+Формат(СтрокаТаблица,"ЧГ=0")+"С"+2).ТекущаяОбласть.Текст;
ЧетвертаяКолонка=ТабДок.Область("R"+Формат(СтрокаТаблица,"ЧГ=0")+"С"+4).ТекущаяОбласть.Текст;
Если ЧетвертаяКолонка="ВСЕГО НАЧИСЛЕНО" Тогда
СтрокаТаблица.Сумма=ТабДок.Область("R"+Формат(СтрокаТаблица,"ЧГ=0")+"С"+5).ТекущаяОбласть.Текст;
КонецЕсли;
СтрокаТаблица.Начало=Объект.ДатаНачала;
СтрокаТаблица.Окончание=Объект.ДатаОкончания;
СтрокаТаблица.МесяцНачисления=Объект.Месяц;
СтрокаТаблица.Комментарий="";
КонецЦикла;
КонецПроцедуры
Голосование за лучший ответ
Владислав Михайлов Знаток (299) 3 недели назад
Удаленное обслуживание программ 1С по всем регионам России!
Ремонт компьютерной техники через Интернет | Подключение с AnyDesk!
Работаю с 09:00 до 19:00 (МСК) Понедельник-Воскресенье, без праздников!
Очень дешевые цены на обслуживание, перейдите на мой сайт по ссылке ниже!
https://indicator-tradingview.bitrix24site.ru/my-capabilities_page/
Похожие вопросы