Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
23 Янв 2017, 05:19
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Добавить строку в ТЧ word  (Прочитано 1291 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн bestname

  • **
  • Сообщений: 53
  • РЕПУТАЦИЯ: 2
  • КПД: 4%
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Формирую word файл. Никак не могу добавить строки из табличной части документа в word. Все получается, только если в ТЧ документа одна строка. Если больше, то получаю ошибку:

{Документ.ЗаказПокупателя.Форма.ФормаДокумента.Форма(3000)}: Ошибка при вызове метода контекста (Cell): Произошла исключительная ситуация (Microsoft Word): Запрашиваемый номер семейства не существует

Я так понимаю, что я обращаюсь к ячейке еще не созданной строки. Но я вроде как ее создаю. Наверное неправильно создаю.

	
        Договор = ПолучитьМакет("Макет");
MSWord = Договор.Получить();

Попытка
Doc = MSWord.Application.Documents(1);
Doc.Activate();

//Товары
ТекСтрока = ЭлементыФормы.Товары.ТекущаяСтрока;
Для Каждого ТекСтрока Из Товары Цикл

    НомерСтроки = ТекСтрока.НомерСтроки + 1;
    //Добавляем новую строку таблицы
    Doc.Tables(2).Rows.Add();

    Doc.Tables(2).Cell(НомерСтроки, 1).Range.Text = ТекСтрока.НомерСтроки;
    Doc.Tables(2).Cell(НомерСтроки, 2).Range.Text = ТекСтрока.Номенклатура.НаименованиеПолное;
    Doc.Tables(2).Cell(НомерСтроки, 3).Range.Text = ТекСтрока.ЕдиницаИзмерения.Наименование;
    Doc.Tables(2).Cell(НомерСтроки, 4).Range.Text = ТекСтрока.Количество;
    Doc.Tables(2).Cell(НомерСтроки, 5).Range.Text = ТекСтрока.Цена;
    Doc.Tables(2).Cell(НомерСтроки, 6).Range.Text = ТекСтрока.Сумма;
КонецЦикла;

    MSWord.Application.Visible = Истина;
    MSWord.Activate();
Исключение
    Сообщить(ОписаниеОшибки());
    MSWord.Application.Quit();   
КонецПопытки;   

возврат 0;
   

Что я делаю неправильно?


Оффлайн Rasty

  • *****
  • Сообщений: 963
  • РЕПУТАЦИЯ: 137
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
Doc.Tables(2).Cell(НомерСтроки,)<---- нет такого элемента
Добавлено: 29 Апр 2016, 15:50

т.е. по данному номеру строки не может найти элемент
Добавлено: 29 Апр 2016, 15:54

по идеи Doc.Tables(2).Rows.Add() должно вернуть вам строку
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн bestname

  • **
  • Сообщений: 53
  • РЕПУТАЦИЯ: 2
  • КПД: 4%
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С
Короче я понял. Строка добавляется в конце таблицы. А мне нужно с определенного места(со второй строки). Я так понимаю, что в
Doc.Tables(2).Rows.Add();
мне нужно передать параметры?
Пишу
Doc.Tables(2).Rows.Add(2);
{Документ.ЗаказПокупателя.Форма.ФормаДокумента.Форма(2993)}: Ошибка при вызове метода контекста (Add): Произошла исключительная ситуация (Microsoft Word): Неверный параметр

Вот как выглядит макет моей таблицы:

Добавлено: 05 Май 2016, 11:54

Вообщем получилось, строка добавилась после второй строки. Но добавилась, когда я снял объединение ячеек. Вот такая команда:
	
Doc.Tables(2).Rows(2).Select();
MSWord.Application.Selection.InsertRowsBelow(1);

Но поскольку у меня некоторые ячейки объеденены, то вылазит ошибка:

{Документ.ЗаказПокупателя.Форма.ФормаДокумента.Форма(2994)}: Ошибка при вызове метода контекста (Rows): Произошла исключительная ситуация (Microsoft Word): Отсутствует доступ к отдельным строкам, поскольку таблица имеет ячейки, объединенные по вертикали

Может кто подскажет?

Последний раз редактировалось: bestname; 05 Май 2016, 11:54. Причина: Объединение сообщений


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
alex0402
55 Сообщений
MuI_I_Ika MuI_I_Ika
47 Сообщений
crow1983
35 Сообщений
LexaK
32 Сообщений
alexandr_ll
30 Сообщений
sertak sertak
25 Сообщений
Vzonder
22 Сообщений
BuhRust
17 Сообщений
дфтын дфтын
17 Сообщений

* Кто онлайн

  • Точка Гостей: 204
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal