Доброго времени суток, ребята!
Подскажите пожалуйста почему при таком алгоритме заполнения таблицы, строка таблицы почему-то добавляется не ниже как планировалось, а вообще в начало документа
Подскажите пожалуйста почему при таком алгоритме заполнения таблицы, строка таблицы почему-то добавляется не ниже как планировалось, а вообще в начало документа
Если НЕ ВыборкаТеговКолонок.Количество() = 0 И НЕ МассивСтрок.Количество() = 0 И
рбсПроверитьНаличие(ОбъектВорд,"{НачалоТаблицыОбязательныйПрефикс1}", "")=Истина Тогда
ОбъектВорд.Selection.MoveDown();
ОбъектВорд.Selection.SelectRow();
ОбъектВорд.Selection.Cut(); //вырезаем строку тегов строк
Попытка //строки итогов может не быть
ОбъектВорд.Selection.SelectRow();
Исключение
КонецПопытки;
Ном = 0;
Для Каждого Строка Из МассивСтрок Цикл
Ном = Ном + 1;
ВыборкаТеговКолонок.Сбросить();
Пока ВыборкаТеговКолонок.Следующий() Цикл
Результат = ПолучитьРезультатВыполненияДействия(ВыборкаТеговКолонок.Действие, Строка, Параметры);
//Результат=ВыборкаТеговКолонок.Результат;
Если ТипЗнч(Результат) = Тип("Структура") Тогда
Иначе
ОбъектВорд=ВыполнитьЗамену(ОбъектВорд, Выборка.Представление, Результат);
КонецЕсли;
КонецЦикла;
ОбъектВорд.Selection.MoveDown();
ОбъектВорд.Selection.Paste(); //вставляем строку тегов строк
Попытка //если есть строка итогов, нужно ее выделить перед вставкой новой строки
ОбъектВорд.Selection.SelectRow();
Исключение
КонецПопытки;
КонецЦикла;
КонецЕсли;
Показать
Функция ВыполнитьЗамену(Object, Параметр, Значение)
СтрокаПоиска = "{" + Параметр + "}";
СтрокаЗамены = Строка(Значение);
//Необходимо выделить областей, в которой мы осуществляем замену
// Object.Select();
Object.ActiveDocument.Select();
//Получаем выделенную область
// Selection = Object.Application.Selection;
Selection = Object.Selection;
//Найдем все вхождения параметра и заменим его на нужное нам значение
FindObject = Selection.Find;
FindObject.ClearFormatting();
Пока FindObject.Execute(СтрокаПоиска) Цикл
Если ПустаяСтрока(СтрокаЗамены) Тогда
Selection.Delete();
Иначе
Selection.TypeText(СтрокаЗамены);
КонецЕсли;
КонецЦикла;
//Отменим выделение
Selection.Collapse();
Возврат Object;
КонецФункции
ПоказатьПрикрепленные файлы:
Сформированный_Word.docx
По теме из базы знаний
- Универсальный механизм печати из типовых конфигураций 1С 8.1 печатных документов на базе макетов, сделанных в MS Word
- Работа с MS Word из 1С "для самых маленьких"
- Пример настройки шаблонов и реализации печати отчетов в документ MS Word используя функциональную часть "Библиотеки Стандартных Подсистем 1С" (БСП)
- Печать договоров (или других печатных форм) из справочника "Сотрудники” для ЗУП 3.1 из шаблонов MS WORD
- Формирование документа MS Word с использованием БСП и программное добавление закладок
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Почему-то курсор после окончания цикла перемещается в начало документа
После цикла:
После цикла:
Пока ВыборкаТеговКолонок.Следующий() Цикл
Результат = ПолучитьРезультатВыполненияДействия(ВыборкаТеговКолонок.Действие, Строка, Параметры);
//Результат=ВыборкаТеговКолонок.Результат;
Если ТипЗнч(Результат) = Тип("Структура") Тогда
Иначе
ОбъектВорд=ВыполнитьЗамену(ОбъектВорд, Выборка.Представление, Результат);
КонецЕсли;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот