Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 16:01

перебор полей документа word

Автор RuslanYol, 23 окт 2010, 12:56

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

RuslanYol

При переборе полей документа word созданного из шаблона, 1c выдает ошибку
Если Документ.FormFields.Item(х).Name="НомерДоговора" Тогда
{Документ.МастерДоговор.Форма.Модуль(2052)}: Microsoft Word: Запрашиваемый номер семейства не существует.       

в чем может быть проблема?

текст процедуры:
Процедура СоздатьДокументИзШаблона()
   Если Список.ПолучитьЗначение(Список.ТекущаяСтрока())<>"без договора" Тогда
      СписокШаблонов = СоздатьОбъект("Справочник.Шаблоны");                   
      Если СписокШаблонов.ВыбратьЭлементы()=1 Тогда
          Пока СписокШаблонов.ПолучитьЭлемент()=1 Цикл
             Если СокрЛП(СписокШаблонов.Наименование)=Список.ПолучитьЗначение(Список.ТекущаяСтрока()) Тогда
                ФайлШаблона=глКаталогШаблонов+СокрЛП(СписокШаблонов.ФайлШаблона);   
               Прервать;               
             КонецЕсли;
         КонецЦикла;          
      КонецЕсли;            
      Если (ПустоеЗначение(ФайлШаблона)=0) И (ФС.СуществуетФайл(ФайлШаблона)=1) Тогда
         //--создание файла из образа шаблона   
         Попытка
            Word = СоздатьОбъект("Word.Application");
            Word.Caption="Договор №"+СокрЛП(НомерДог)+ " от "+Строка(ДатаПодписания);
            Word.Visible = 0;
            Документ=Word.Documents.Add(ФайлШаблона);      
         Исключение
            Предупреждение("Ошибка при открытии документа");
            СтатусВозврата(0);
         КонецПопытки;     
         
         СтрокаДата="""___""___________"+"20___г.";         
         
         //--перебор всех полей шаблона
         Если Документ.FormFields.Count>0 Тогда       
            //--перебор полей word            
            Для х=1 По Документ.FormFields.Count Цикл                  
               Если Документ.FormFields.Item(х).Name="НомерДоговора" Тогда
                  Если ПустоеЗначение(НомерДог)=0 Тогда
                     Документ.FormFields.Item(х).Result = СокрЛП(НомерДог);      
                  Иначе   
                     Документ.FormFields.Item(х).Result = "________";
                  КонецЕсли;
                  Продолжить;
               КонецЕсли;     
               
               //--------------------------
            КонецЦикла; 
         КонецЕсли;
      КонецЕсли;
   КонецЕсли;
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск