Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/22: Рейтинг темы: голосов - 22, средняя оценка - 5.00
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
1

Загрузка и выгрузка табличной части документа в Excel

30.03.2016, 11:25. Просмотров 4142. Ответов 57
Метки нет (Все метки)

Учусь.

Есть Документ в котором Табличные Части -> ПереченьТоваров с Реквизитами Товар Цена Количество Сумма.
Создано 2 документа.
Открываю один из них.
На форме добавлена кнопка Выгрузить в файл.
Модуль:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
&НаКлиенте
Процедура Команда1(Команда)
    // Вставить содержимое обработчика.
    Передача();
КонецПроцедуры
 
&НаСервереБезКонтекста  
Процедура Передача()  
    ApplicationExcel= Новый COMОбъект("Excel.Application");  
    ApplicationExcel.Visible = Истина;  
    ApplicationExcel.Workbooks.Open ("E:\1C\Клиенты.xlsx");
    Док=Документы.Оприходование;
    i=2;  
    //Сообщить( Док.ТекущийДокумент());
 
    
    КоличетсвоСтрок = ЭтотОбъект.ПереченьТоваров.Количество();
    Если КоличествоСтрок <> 0 Тогда
    Для каждого Строчка из ЭтотОбъект.ПереченьТоваров Цикл
        ApplicationExcel.Sheets(1).Cells(i, 1).Value=Строчка.Товар;
ApplicationExcel.Sheets(1).Cells(i, 2).Value=Строчка.Количество;
        i=i+1;
    КонецЦикла
    КонецЕсли
        
        //Пока Выборка.ПолучитьСтроку() > 0 Цикл    
        //ApplicationExcel.Sheets(1).Cells(i, 1).Value=Выборка.Товар; //тут пишет что нет такого реквизита
        
        //i=i+1;
    //КонецЦикла;
КонецПроцедуры
Не получается. В последней попытке, приведенной, я даже не могу открыть документ. {Переменная ЭтотДокумент не определена}. Подскажите, помогите, первый день в 1С8.3, прошу с кодом пояснением. Либо как обратиться к полям/реквизитам открытого пользователем документа. В закомментированном коде есть другая реализация, ошибку также указал.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2016, 11:25
Ответы с готовыми решениями:

Значение строки табличной части получить в табличной части другого документа
Есть документ ПриходнаяНакладная (товар приходит от поставщика по его цене), с...

Из одного документа получить данные табличной части другого документа
Добрый день. Сразу оговорюсь 1С только начал изучать, поэтому просьба...

Автоматическое заполнение табличной части документа при изменении реквизита этого документа
Здравствуйте. Делаю свою конфу на 1с 8.3.5. Добавил справочник &quot;Сотрудники&quot; и...

Выгрузка табличной части в таблицу значений
Ситуация такая,в документе имеется табличная часть Подписки (см. скрин), в ней...

Автозаполнение табличной части документа
Здравствуйте помогите пожалуйста, есть документ Заказ в котором в табличной...

57
Dethmontt
Модератор
Эксперт 1С
2643 / 2436 / 415
Регистрация: 10.03.2011
Сообщений: 8,699
Записей в блоге: 1
Завершенные тесты: 1
30.03.2016, 16:59 21
vino0s, база файловая?
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 17:00  [ТС] 22
В режиме не конфигуратора (Как называется?) создано 2 документа. Когда захожу в один из них вижу ту кнопку что добавил (см. выше). Жму по ней, получаю ошибку

Добавлено через 43 секунды
Цитата Сообщение от Dethmontt Посмотреть сообщение
база файловая?
Это что где как?
0
Nenaviju1C
43 / 43 / 6
Регистрация: 17.03.2016
Сообщений: 117
30.03.2016, 17:04 23
Цитата Сообщение от vino0s Посмотреть сообщение
Табличные части: ПереченьТоваров [Товар, Цена, Количество, Сумма]
"ПереченьТоваров" является реквизитом объекта или реквизитом формы?

Добавлено через 3 минуты
Ты без передачи контекста (&НаСервереБезКонтекста) пытаешься обратиться к контексту
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 17:06  [ТС] 24
В общем я пишу по учебнику, и у меня начинают вылазить ошибки, вот я и обращаюсь сюда, на форум, чтоб объяснили почему так происходит. Я ноль в 1С пока... Поэтому вопросы с действиями, пожалуйста.

Добавлено через 1 минуту
Цитата Сообщение от Nenaviju1C Посмотреть сообщение
(&НаСервереБезКонтекста)
Это я уже давно исправил, см. новый листинг. Но ошибка все равно остается.
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
30.03.2016, 17:08 25
vino0s, сохраните и выложите сюда конфу (заархивировав) В Конфигураторе в Меню Конфигурация - Сохранить конфигурацию в файл
0
Nenaviju1C
43 / 43 / 6
Регистрация: 17.03.2016
Сообщений: 117
30.03.2016, 17:08 26
Цитата Сообщение от vino0s Посмотреть сообщение
Поэтому вопросы с действиями, пожалуйста
еще раз ....

"ПереченьТоваров" является реквизитом объекта или реквизитом формы?
0
Dethmontt
Модератор
Эксперт 1С
2643 / 2436 / 415
Регистрация: 10.03.2011
Сообщений: 8,699
Записей в блоге: 1
Завершенные тесты: 1
30.03.2016, 17:09 27
Путь к базе выглядит как UNC? или как "srv: ref:"?

Не по теме:

ТС даже не удосужился хоть что нибудь почитать перед тем как спрашивать.
если ТС этого не надо - мне тем более



Добавлено через 55 секунд

Не по теме:

Ой сколько вас...

Я пошел тогда

0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 17:12  [ТС] 28
Может если пойти от обратного найдется ответ: Как загрузить данные из файла Эксель в открытый!!! документ?
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
30.03.2016, 17:14 29
vino0s, вы все сообщения читаете? Точно?
В отладчике смотрели, где вылазит ошибка?
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 17:26  [ТС] 30
К примеру у меня есть(да у меня есть) вторая кнопка "Загрузить", при клике по которой откроется ДИАЛОГОВОЕ ОКНО выбора файла. После выбора файла и нажатия ОК/Выбрать -> Окно закрывается и данные из этого файла сразу заполняются в таблицу.

Добавлено через 1 минуту
Цитата Сообщение от GreenkO Посмотреть сообщение
вы все сообщения читаете?
Да, я читаю все сообщения, и по этому поводу написал просьбу:
Цитата Сообщение от vino0s Посмотреть сообщение
Поэтому вопросы с действиями, пожалуйста.
Понимаете, если у меня сломалась стиральная машина, прочитав документацию я не факт ее починю, но если мне скажут что сделать - результат будет положительный.

Добавлено через 10 минут
1C
1
ApplicationExcel.Sheets(1).Cells(i, 1).Value=Строчка.Товар;
на этой строчке как я понимаю ошибка выходит, я ставил "точку останова"
0
Nenaviju1C
43 / 43 / 6
Регистрация: 17.03.2016
Сообщений: 117
30.03.2016, 17:27 31
Цитата Сообщение от vino0s Посмотреть сообщение
но если мне скажут что сделать - результат будет положительный.
а читать научиться не пробовал?
Уже все сказали. Ты точно на js кодишь?
Я сам переходил с C# и вник достаточно быстро, а переходил кстати еще на 7.7 , а потом 8.0 , 8.1 ... теперь уже 8.3

Цитата Сообщение от vino0s Посмотреть сообщение
Понимаете, если у меня сломалась стиральная машина, прочитав документацию я не факт ее починю
Не понимаю. Я свою починил сам - за пол дня с ютубом наперевес посидел, раскидал ее, а потом так же собрал.
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 17:30  [ТС] 32
Цитата Сообщение от GreenkO Посмотреть сообщение
и выложите сюда конфу (заархивировав) В Конфигураторе в Меню Конфигурация - Сохранить конфигурацию в файл
Забыл ответить, у меня кнопка Сохранить конфигурацию не активна

Добавлено через 52 секунды
А нет, я не дочитал) Скидываю
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 17:31  [ТС] 33
Приложил
0
Вложения
Тип файла: rar 1Cv8.rar (17.8 Кб, 5 просмотров)
Nenaviju1C
43 / 43 / 6
Регистрация: 17.03.2016
Сообщений: 117
30.03.2016, 17:57 34
Бери ....

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
&НаКлиенте
Процедура Команда_УчиМатЧасть(РезультатВыбора, СтруктураДополнительныхПараметров) Экспорт
    
    Если РезультатВыбора = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Exl = Новый ComObject("Excel.Application");     
    Попытка
        Exl.Application.Workbooks.Open(РезультатВыбора[0]);
    Исключение
        мСообщение = Новый СообщениеПользователю();
        мСообщение.Текст = "что то пошло не так ...." + символы.ПС + ОписаниеОшибки();
        мСообщение.Сообщить();
        Возврат;
    КонецПопытки;
    
    // то что хочешь сделать с файлом
    
    Для каждого СтрокаТЧ Из Объект.ПереченьТоваров Цикл
        
        // Обработка коллекции табличной части документа
        
    КонецЦикла;
    
КонецПроцедуры
 
&НаКлиенте
Процедура Команда1(Команда)
    
    ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогФайла.Фильтр = "Наш файл (*.xls, *.xlsx, *.csv)|*.xls; *.xlsx; *.csv";
    ДиалогФайла.МножественныйВыбор = Ложь;
    
    ОП = Новый ОписаниеОповещения("Команда_УчиМатЧасть", ЭтаФорма, Новый Структура);
    
    ДиалогФайла.Показать(ОП);
    
КонецПроцедуры
Добавлено через 6 минут
Цитата Сообщение от vino0s Посмотреть сообщение
А нет, я не дочитал)
вот-вот и я про это же не читаешь то что тебе пишут
1
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 18:05  [ТС] 35
Цитата Сообщение от Nenaviju1C Посмотреть сообщение
а читать научиться не пробовал?
Я делаю как вы НАПИСАЛИ и при этом выходит ОШИБКА
0
Nenaviju1C
43 / 43 / 6
Регистрация: 17.03.2016
Сообщений: 117
30.03.2016, 18:07 36
Цитата Сообщение от vino0s Посмотреть сообщение
Я делаю как вы НАПИСАЛИ и при этом выходит ОШИБКА
я тебе уже готовый код прислал тоже ошибка? ))
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 18:10  [ТС] 37
Цитата Сообщение от Nenaviju1C Посмотреть сообщение
не читаешь то что тебе пишут
Не дочитал я пункты меню в программе.

Добавлено через 2 минуты
Ваш код ни как не показывает как обработать файл, а именно с ним выходит ошибка, когда я записываю в файл, реализация открытия файла мне доступна в учебнике (но не проверял, может тоже с ошибкой.)
0
Nenaviju1C
43 / 43 / 6
Регистрация: 17.03.2016
Сообщений: 117
30.03.2016, 18:12 38
Тебе надо загрузить из файла или выгрузить в файл?
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 353
30.03.2016, 18:19  [ТС] 39
Вы же читать умеете говорите, топик не читали?

Добавлено через 1 минуту
И начал я с решения возникшей проблемы, а в конце выложить всю реализацию загрузки и выгрузки для тех кто будет искать.
0
Nenaviju1C
43 / 43 / 6
Регистрация: 17.03.2016
Сообщений: 117
30.03.2016, 18:24 40
Цитата Сообщение от vino0s Посмотреть сообщение
Ваш код ни как не показывает как обработать файл, а именно с ним выходит ошибка, когда я записываю в файл
1. Обработка файла должна производится на клиенте (см. мануал на сайте https://msdn.microsoft.com).
2. Ошибка не с моим кодом выходит, а ты что то не так делаешь.
3. Как записать данные в excel: читай мануал https://msdn.microsoft.com

Добавлено через 3 минуты
Можешь упростить задачу так:
1C
1
2
3
    МойТабличныйДокумент = новый ТабличныйДокумент;
    // Заполнение
    МойТабличныйДокумент.Записать("ПолныйАдресФайла.xlss", ТипФайлаТабличногоДокумента.XLSX);
0
30.03.2016, 18:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2016, 18:24

Ошибка в табличной части документа
Приветствую Вас многоуважаемые форумчане:drink: После долгого отсутствия мне...

Оформление табличной части документа
Доброго времени суток Нужно по условию изменить цвет полей на красный Для...

Автозаполнение табличной части документа
Здравствуйте, есть документ &quot;цены на номенклатуру&quot; и в нём реквизит &quot;вид...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru