Имя: Пароль:
1C
 
Как выйти из режима работы с таблицей при выгрузке в word из 1с?
0 zavsom
 
10.05.06
17:10
Как выйти из режима работы с таблицей при выгрузке в word из 1с?
Прочел все топики за два дня и не могу выйти из таблиц
Док1.Tables.Add(Док1.Paragraphs(к).Range, т.количествоСтрок(), 2);

Потом
т.Выбратьстроки();
тута цикл из таких вот строк
Док1.Tables(1).Cell(i, 1).Range.Text = "всяка хрень";

А как перейти к дальнейшему печатанию текста???????
до этого я делал это так:
к=к+1;
       СтрТекст=Секция.Область("R21C1:R21C11").Текст;
       Док1.Paragraphs(к).Range().InsertAfter(СтрТекст);
Теперь же эта конструкция лезет в первую колонку таблицы замещая собой то что в ней находиться и текст после таблицы не печатается ни в какую
1 zavsom
 
10.05.06
17:16
У кого нить есть под рукой книжка "системное программирование на 1с"? там этот вопрос разобран но она  у меня  дома  а я в отпуске в Пензе, помогите а то 15 на работу надо  с уже готовой  прогой приходить
2 ASV
 
10.05.06
17:52
InsertParagraphAfter(); попробуй
3 ASV
 
10.05.06
17:59
или
Док1.Tables(1).Cell(Счетчик,4).Range().InsertAfter("всяко");
4 zavsom
 
10.05.06
18:34
а почему Док1.Tables(1).Cell(Счетчик,4).Range().InsertAfter("всяко");
число 4??? у меня таблица n на 2
5 zavsom
 
10.05.06
18:39
попробовал
Док1.InsertParagraphAfter();
Ругается
6 zavsom
 
10.05.06
18:44
не правильный совет:
во втором случае пишет неправильный номер семейства
7 zavsom
 
10.05.06
19:00
как сделать как в макросе:
Selection.EscapeKey  ???
8 zavsom
 
10.05.06
19:05
т. е Selection.EndKey ???
9 mikecool
 
10.05.06
19:07
(8) может это поможет : http://www.gotdotnet.ru/LearnDotNet/NETFramework/22156.aspx
10 smaharbA
 
10.05.06
19:22
Док1.Paragraphs.Add();
Док1.Words.Last.Text = "bkjbhjk";
11 zavsom
 
10.05.06
20:02
Всем спасибо! Все гораздо проще:
Док1.Paragraphs.Add();  и все!!!
дальше надо было просто правильно спозиционироваться, чего я не сделал , поэтому я попадал в первый столбец первой колонки, надо было
   ИндСтроки=Документ1.Paragraphs.Count();

           ТекстСтр=Секция.Область("R21C1:R21C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
12 smaharbA
 
10.05.06
20:03
Ниче не понял...
13 zavsom
 
10.05.06
20:10
Перем ВыгрузкаВВорд,ТекстСтр,Документ1,W,Инд,    ИндСтроки;
Перем ПаспортПокупатель;
Перем ПаспортПокупатель1;
Перем ПаспортПокупатель2;

//**********Выгрузка в Word



Процедура Сформировать(Инд,ТекстСтр,Жирн)              
   //**********Непосредственно печать текстовой строки
   Документ1.Paragraphs(Инд).Range().InsertAfter(ТекстСтр);
 
   
   Сообщить("инд= "+инд+"  как на самом деле: "+    Документ1.Paragraphs.Count()  ) ;
   
   Если Жирн=0 Тогда
       Документ1.Paragraphs(Документ1.Paragraphs.Count()).Range.Font.Bold=0;
       Документ1.Paragraphs(Документ1.Paragraphs.Count()).Range.ParagraphFormat.Alignment = 0;
   ИначеЕсли  Жирн=1 Тогда
       Документ1.Paragraphs(Документ1.Paragraphs.Count()).Range.Font.Bold=1;
       Документ1.Paragraphs(Документ1.Paragraphs.Count()).Range.ParagraphFormat.Alignment = 1;
   ИначеЕсли  Жирн=2 Тогда
       Документ1.Paragraphs(Документ1.Paragraphs.Count()).Range.Font.Bold=1;
       Документ1.Paragraphs(Документ1.Paragraphs.Count()).Range.ParagraphFormat.Alignment = 0;
   Иначе
       Документ1.Paragraphs(Документ1.Paragraphs.Count()).Range.Font.Bold=1;
       Документ1.Paragraphs(Документ1.Paragraphs.Count()).Range.ParagraphFormat.Alignment = 0;
   КонецЕсли;

   Инд=Инд+1;
   Документ1.Paragraphs.Add();
   //*************************************************
КонецПроцедуры

//*******************************************
Процедура СформироватьПечать()
   Таб = СоздатьОбъект("Таблица");      
   Таб.ИсходнаяТаблица("Таблица1");    
   
   ИндСтроки=1;
   //*****************************************************
   Если ВыгрузкаВВорд=1 Тогда
       Попытка
           W=СоздатьОбъект("Word.Application");
           W.Visible=1;
       Исключение
           Предупреждение("Не возможно создать документ - приложение Microsoft Word не установлено!!!",60);
           Возврат;
       КонецПопытки;
       
       
       W.Documents.Add();  
       Документ1=W.ActiveDocument();
       ТекстСтр="";
       Сформировать(ИндСтроки,ТекстСтр,0);
       //*************************************** закончили с инициализацией
       Секция = Таб.ПолучитьСекцию("Шапка");
       
       ТекстСтр=Секция.Область("R1C1:R1C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,1);
       
       ТекстСтр=Секция.Область("R2C1:R2C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,1);
       
       ТекстСтр=Секция.Область("R3C1").Текст;
       Сформировать(ИндСтроки,ТекстСтр,2);

       ТекстСтр=Секция.Область("R4C1:R4C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R5C1:R5C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       

       ТекстСтр=Секция.Область("R6C1:R6C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,1);
       
       ТекстСтр=Секция.Область("R7C1:R7C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R8C1:R8C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R9C1:R9C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);        
       
       ТекстСтр=Секция.Область("R10C1:R10C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,1);    
       
       ТекстСтр=Секция.Область("R11C1:R11C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R12C1:R12C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R13C1:R13C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);    
       
       ТекстСтр=Секция.Область("R14C1:R14C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R15C1:R15C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R16C1:R16C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R17C1:R17C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R18C1:R18C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R19C1:R19C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,1);
       
       ТекстСтр=Секция.Область("R20C1:R20C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,2);
       
       ТекстСтр=Секция.Область("R21C1:R21C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R22C1:R22C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R23C1:R23C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R24C1:R24C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R25C1:R25C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);        
       
       ТекстСтр=Секция.Область("R26C1:R26C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);    

   КонецЕсли;
   //*****************************************************    

   Таб.ВывестиСекцию("Шапка");        
   //*****************************************************
   Если ВыгрузкаВВорд=1 Тогда

       
   
       Секция = Таб.ПолучитьСекцию("Шапка2");
       
       ТекстСтр=Секция.Область("R1C1:R1C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);    
       
       ТекстСтр=Секция.Область("R2C1:R2C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R3C1:R3C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R4C1:R4C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,2);
   

       ТекстСтр=Секция.Область("R5C1:R5C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R6C1:R6C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R7C1:R7C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R8C1:R8C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);

       ТекстСтр=Секция.Область("R9C1:R9C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);    
       
       ТекстСтр=Секция.Область("R10C1:R10C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);    
               
       ТекстСтр=Секция.Область("R11C1:R11C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);    
               
       ТекстСтр=Секция.Область("R12C1:R12C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);    
       
       ТекстСтр=Секция.Область("R13C1:R13C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);    
       
       ТекстСтр=Секция.Область("R14C1:R14C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R15C1:R15C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       ТекстСтр=Секция.Область("R16C1:R16C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,1);
       
       ТекстСтр=Секция.Область("R17C1:R17C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
                                           
       ТекстСтр=Секция.Область("R18C1:R18C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       
       //********** Таблица ************************
       Документ1.Tables.Add(Документ1.Paragraphs(ИндСтроки).Range, График.КоличествоСтрок(), 2);
       
       НомерСтроки=0;
   
       Документ1.Tables(1).Cell(НомерСтроки+1, 1).Range.Text = Секция.Область("R19C1:R19C11").Текст;;
       Документ1.Tables(1).Cell(НомерСтроки+1, 2).Range.Text = Секция.Область("R20C1:R20C11").Текст;;
       Документ1.Tables(1).Rows.Add();
       
       
       График.ВыбратьСтроки();
       Пока График.ПолучитьСтроку() = 1 Цикл
           НомерСтроки=НомерСтроки+1;;
             Документ1.Tables(1).Cell(НомерСтроки+1, 1).Range.Text = " "+СокрЛП(Формат( График.Сумма,"Ч15 '"))+" ("+СокрЛП(Формат( График.Сумма,"ЧПДС")) +").";
           Документ1.Tables(1).Cell(НомерСтроки+1, 2).Range.Text = " "+ Нрег(Формат(График.ДатаОплаты ,"Д (0)ДДММММГГГГ")) ;
           //Документ1.Tables(1).Rows.Add();
       КонецЦикла;
       
       Документ1.Paragraphs.Add();  //Выход из таблицы
       ИндСтроки=Документ1.Paragraphs.Count();
       
       
       //Документ1.Words.Last.Text = "111111111111111111";
       
       ТекстСтр=Секция.Область("R21C1:R21C11").Текст;
       Сформировать(ИндСтроки,ТекстСтр,0);
       
       
   КонецЕсли;
   //*****************************************************    



   Таб.ВывестиСекцию("Шапка2");
   Таб.Опции(0,0,0,0,"СохрАкт");
   Таб.Показать();
КонецПроцедуры
//*****************************************************************************
Процедура ПриВыбореЗакладки(Номер,Значение) //предопределенная
   Если Значение = 1 Тогда
       Форма.ИспользоватьСлой("Основной");
   Иначе
       Форма.ИспользоватьСлой("Покупатели");
   КонецЕсли;  
КонецПроцедуры //ПриВыбореЗакладки
//*******************************************
Процедура ПриОткрытии()  
   Форма.ИспользоватьЗакладки(1);
   Форма.Закладки.ДобавитьЗначение(1,"Основной режим");    
   Форма.Закладки.ДобавитьЗначение(2,"еще покупатели" );
   Форма.ИспользоватьСлой("Основной");
   

   График.НоваяКолонка("НомерПП","Число",3,,"№ п/п" );
   График.НоваяКолонка("ДатаОплаты","Дата",,,"Дата гр" );
   График.НоваяКолонка("Сумма","Число",15,2,"сумма пл" );
   
   
   Р1=Форма.Параметр;
   Объект1=Р1.Получить("Контекст");
   
   НомерДоговора=Объект1.НомерДоговора;
   ДатаДоговора=Объект1.ДатаДок;
   СрокДоговора=Объект1.СрокДоговора;
   ВыгрузкаВВорд=Объект1.ВыгрузкаВВорд;  
   СуммаДоговора=Объект1.СумаДоговора;
   
   
   Если Объект1.КоличествоКлиентов=0 Тогда
       Организация=СокрЛП(Объект1.Покупатель.Наименование);
   Иначе  
       Организация=СокрЛП(Объект1.Покупатель.Наименование);
       Организация=Организация+";"+СокрЛП(Объект1.Покупатель1.Наименование);
       Организация=Организация+";"+СокрЛП(Объект1.Покупатель2.Наименование);
       Организация=Организация+";"+СокрЛП(Объект1.Покупатель3.Наименование);
       Организация=Организация+";"+СокрЛП(Объект1.Покупатель4.Наименование);
       Организация=Организация+";"+СокрЛП(Объект1.Покупатель5.Наименование);
       Организация=Организация+";"+СокрЛП(Объект1.Банк.Наименование);
   КонецЕсли;
   
   
   Если Объект1.КоличествоКлиентов=0 Тогда
       ПочтовыйАдрес=СокрЛП(Объект1.Покупатель.ПочтовыйАдрес);
   Иначе
       ПочтовыйАдрес=ПочтовыйАдрес+";"+СокрЛП(Объект1.Покупатель1.ПочтовыйАдрес);
       ПочтовыйАдрес=ПочтовыйАдрес+";"+СокрЛП(Объект1.Покупатель2.ПочтовыйАдрес);    
       ПочтовыйАдрес=ПочтовыйАдрес+";"+СокрЛП(Объект1.Покупатель3.ПочтовыйАдрес);        
       ПочтовыйАдрес=ПочтовыйАдрес+";"+СокрЛП(Объект1.Покупатель4.ПочтовыйАдрес);
       ПочтовыйАдрес=ПочтовыйАдрес+";"+СокрЛП(Объект1.Покупатель5.ПочтовыйАдрес);
       ПочтовыйАдрес=ПочтовыйАдрес+";"+СокрЛП(Объект1.Банк.ПочтовыйАдрес);
   КонецЕсли;
 
   Если Объект1.КоличествоКлиентов=0 Тогда
       ДокументСерия=СокрЛП(Объект1.Покупатель.ДокументСерия);    
       ДокументНомер=СокрЛП(Объект1.Покупатель.ДокументНомер);    
       ДокументДатаВыдачи=Объект1.Покупатель.ДокументДатаВыдачи;    
       ДокументКемВыдан=СокрЛП(Объект1.Покупатель.ДокументКемВыдан);
       ДокументДатаРождение=Объект1.Покупатель.ДатаРождения;
       
       ПаспортПокупатель="Гр. Российской Федерации "+СокрЛП(Объект1.Покупатель.Наименование);
       ПаспортПокупатель=ПаспортПокупатель+", дата рождения: "+ (Формат(ДокументДатаРождение,"ДДДММГГГГ"))+"г., паспорт: "+ДокументСерия+"  "+ДокументНомер;
       ПаспортПокупатель=ПаспортПокупатель+", выдан: "+ДокументКемВыдан+"; дата выдачи: "+(Формат(ДокументДатаВыдачи,"ДДДММГГГГ"))+"г.,";
       ПаспортПокупатель=ПаспортПокупатель+"зарегистрирован(а) по адресу:"+СокрЛП(Объект1.Покупатель.ПочтовыйАдрес);
       ПаспортПокупатель=ПаспортПокупатель+"Подпись: _____________________/"+СокрЛП(Объект1.Покупатель.Наименование)+"/";

       ПаспортПокупатель1="";
       ПаспортПокупатель2="";
       
   Иначе
       //*** Покупатель
       ДокументСерия=СокрЛП(Объект1.Покупатель.ДокументСерия);    
       ДокументНомер=СокрЛП(Объект1.Покупатель.ДокументНомер);    
       ДокументДатаВыдачи=Объект1.Покупатель.ДокументДатаВыдачи;    
       ДокументКемВыдан=СокрЛП(Объект1.Покупатель.ДокументКемВыдан);
       ДокументДатаРождение=Объект1.Покупатель.ДатаРождения;
       //*** Покупатель 1
       ДокументСерия1=СокрЛП(Объект1.Покупатель1.ДокументСерия);    
       ДокументНомер1=СокрЛП(Объект1.Покупатель1.ДокументНомер);    
       ДокументДатаВыдачи1=Объект1.Покупатель1.ДокументДатаВыдачи;    
       ДокументКемВыдан1=СокрЛП(Объект1.Покупатель1.ДокументКемВыдан);
       ДокументДатаРождение1=Объект1.Покупатель1.ДатаРождения;
       //*** Покупатель 2
       ДокументСерия2=СокрЛП(Объект1.Покупатель2.ДокументСерия);    
       ДокументНомер2=СокрЛП(Объект1.Покупатель2.ДокументНомер);    
       ДокументДатаВыдачи2=Объект1.Покупатель2.ДокументДатаВыдачи;    
       ДокументКемВыдан2=СокрЛП(Объект1.Покупатель2.ДокументКемВыдан);
       ДокументДатаРождение2=Объект1.Покупатель2.ДатаРождения;
       
               
       ПаспортПокупатель="Гр. Российской Федерации "+СокрЛП(Объект1.Покупатель.Наименование);
       ПаспортПокупатель=ПаспортПокупатель+", дата рождения: "+(Формат(ДокументДатаРождение,"ДДДММГГГГ"))+"г., паспорт: "+ДокументСерия+"  "+ДокументНомер;
       ПаспортПокупатель=ПаспортПокупатель+", выдан: "+ДокументКемВыдан+"; дата выдачи: "+(Формат(ДокументДатаВыдачи,"ДДДММГГГГ"))+"г.,";
       ПаспортПокупатель=ПаспортПокупатель+"зарегистрирован(а) по адресу:"+СокрЛП(Объект1.Покупатель.ПочтовыйАдрес);
       ПаспортПокупатель=ПаспортПокупатель+"Подпись: _____________________/"+СокрЛП(Объект1.Покупатель.Наименование)+"/";
       
               
       ПаспортПокупатель1="Гр. Российской Федерации "+СокрЛП(Объект1.Покупатель1.Наименование);
       ПаспортПокупатель1=ПаспортПокупатель1+", дата рождения: "+(Формат(ДокументДатаРождение1,"ДДДММГГГГ"))+"г., паспорт: "+ДокументСерия1+"  "+ДокументНомер1;
       ПаспортПокупатель1=ПаспортПокупатель1+", выдан: "+ДокументКемВыдан1+"; дата выдачи: "+(Формат(ДокументДатаВыдачи1,"ДДДММГГГГ"))+"г.,";
       ПаспортПокупатель1=ПаспортПокупатель1+"зарегистрирован(а) по адресу:"+СокрЛП(Объект1.Покупатель1.ПочтовыйАдрес);
       ПаспортПокупатель1=ПаспортПокупатель1+"Подпись: _____________________/"+СокрЛП(Объект1.Покупатель1.Наименование)+"/";
       
       Если ПустоеЗначение(Объект1.Покупатель2)=1 Тогда
       Иначе    
           ПаспортПокупатель2="Гр. Российской Федерации "+СокрЛП(Объект1.Покупатель2.Наименование);
           ПаспортПокупатель2=ПаспортПокупатель2+", дата рождения: "+(Формат(ДокументДатаРождение2,"ДДДММГГГГ"))+"г., паспорт: "+ДокументСерия2+"  "+ДокументНомер2;
           ПаспортПокупатель2=ПаспортПокупатель2+", выдан: "+ДокументКемВыдан2+"; дата выдачи: "+(Формат(ДокументДатаВыдачи2,"ДДДММГГГГ"))+"г.,";
           ПаспортПокупатель2=ПаспортПокупатель2+"зарегистрирован(а) по адресу:"+СокрЛП(Объект1.Покупатель2.ПочтовыйАдрес);
           ПаспортПокупатель2=ПаспортПокупатель2+"Подпись: _____________________/"+СокрЛП(Объект1.Покупатель2.Наименование)+"/";
       КонецЕсли;
   КонецЕсли;

   НомерПоБТИ=СокрЛП(Объект1.Квартира.НомерПоБТИ);
   Адрес=СокрЛП(Объект1.Квартира.Наименование);
   ПлощадьБТИ=Объект1.Квартира.ПлощадьБТИ;
   Типкв=Объект1.Квартира.ТипКвартиры;  
   Этаж=Объект1.Квартира.Этаж;

   Объект1.ВыбратьСтроки();
   СтрокаГрафик="";
   Пока Объект1.ПолучитьСтроку()=1 Цикл
       График.НоваяСтрока();
       График.НомерПП=Объект1.НомерСтроки;
       График.ДатаОплаты=Объект1.ДатаПл;
       График.Сумма=Объект1.СумаПлатежа;
       
       СтрокаГрафик=СтрокаГрафик+СокрЛП(Формат( График.Сумма,"Ч15 '"))+" ("+СокрЛП(Формат( График.Сумма,"ЧПДС")) +")."+" - до "+ Нрег(Формат(График.ДатаОплаты ,"Д (0)ДДММММГГГГ")) ;
       
   КонецЦикла;
   

   Если ПустоеЗначение(Организация)=1 Тогда
       Предупреждение("пропущен реквизит -  Покупатель");
       СтатусВозврата(0);
   КонецЕсли;

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




//     (Формат(ДатаДоговора,"ДДДММГГГГ"))
14 smaharbA
 
10.05.06
21:36
Документ1.Paragraphs().Last().Range.Font.Bold
///
Ниче не понял...
(13) Стока кода нечитается