Имя: Пароль:
1C
1С v8
Как получить ссылку в модуле менеджера справочника 1С
0 Gossar1C
 
29.03.13
11:23
Здравствуйте. Подскажите пожалуйста, можно ли получить ссылку объекта в модуле команды и передать ее в модуль менеджера? Справочник договоры с контрагентами, сделал функцию заполнения шаблона ворд и сохранения в формате pdf. Но блин как получить ссылку объекта в модуле менеджера не пойму)) Ведь модуле менеджера документа, сначала проверяется модифицированность а потом печать?
1 Godofsin
 
29.03.13
11:25
я ничо не понял...
2 Jonny_Khomich
 
29.03.13
11:26
(1) это нормально
3 Галахад
 
гуру
29.03.13
11:26
Ага. Именно так надо парить мозг клиенту.
4 Gossar1C
 
29.03.13
11:27
Кажись разобрался
5 Alex375
 
29.03.13
11:27
В функции/процедуре модуля менеджера добавь параметр и передавай в нем ссыку.
6 Godofsin
 
29.03.13
11:27
(4) молодец! с нами поделишься?
7 Gossar1C
 
29.03.13
11:32
(6) угу прикол в том что если делать через конструктор печати, то в модуле команды он вызывает процедуру печати с параметрами (ТабДок,ПараметрыКоманды), а вот в модуле менеджера процедура печати с параметрами (ТабДок,Ссылка) Тобишь параметры команды и содержит ссылку на этот документ? Прошу не критиковать, мало опыта
8 Gossar1C
 
29.03.13
11:36
ааа блин запутался =\
9 Gossar1C
 
29.03.13
11:46
хм однако
// Заполнение и сохранение в формате PDF, шаблона dot (MSWord)
// Макет тип - Active Document;
Процедура Печать(Ссылка) Экспорт
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ДоговорыКонтрагентов.Ссылка,
   |    ДоговорыКонтрагентов.Номер,
   |    ДоговорыКонтрагентов.Дата,
   |    ДоговорыКонтрагентов.Партнер КАК Партнер,
   |    ДоговорыКонтрагентов.Контрагент.ИНН КАК ИННПокупателя,
   |    ДоговорыКонтрагентов.Контрагент.КодПоОКПО КАК ОКПОПокупателя,
   |    ДоговорыКонтрагентов.Контрагент.КонтактнаяИнформация.(
   |        АдресЭП КАК ПочтовыйАдресПокупателя,
   |        НомерТелефона КАК ТелефонПокупателя
   |    ),
   |    КонтактныеЛицаПартнеров.Наименование КАК КонтактноеЛицоПартнера
   |ИЗ
   |    Справочник.КонтактныеЛицаПартнеров КАК КонтактныеЛицаПартнеров
   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
   |        ПО КонтактныеЛицаПартнеров.Владелец.Ссылка = ДоговорыКонтрагентов.Партнер.Ссылка
   |ГДЕ
   |    ДоговорыКонтрагентов.Ссылка В (&Ссылка)";
   Запрос.УстановитьПараметр("Ссылка",Ссылка);
   
   Выборка = Запрос.Выполнить().Выбрать();
   
   Дата = Выборка.Дата;
   
   ДоговорПоставки = ПолучитьМакет("ДоговорПоставки");
   
   MsWord = ДоговорПоставки.Получить();
   //макет является ActiveDocwment с загруженым в него Word-файлом
   Попытка

       MsWord.Application.Visible = 0;
       Word = MsWord.Application;
       Док = Word.Documents(1);
       Док.Activate();


       Замена = Док.Content.Find;
       Замена.Execute("[Номер]", Ложь, Истина, Ложь, , , Истина, , Ложь," " + Выборка.Номер);

       Замена = Док.Content.Find;
       Замена.Execute("[Число]", Ложь, Истина, Ложь, , , Истина, , Ложь, День(Выборка.Дата));

       Замена = Док.Content.Find;
       Замена.Execute("[Месяц]", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(Выборка.Дата,"ДФ=ММММ"));
       
       Замена = Док.Content.Find;
       Замена.Execute("[Год]", Ложь, Истина, Ложь, , , Истина, , Ложь, Год(Выборка.Дата));
       
       Замена = Док.Content.Find;
       Замена.Execute("[Партнер]", Ложь, Истина, Ложь, , , Истина, , Ложь, Выборка.Партнер);
               
       Замена = Док.Content.Find;
       Замена.Execute("[КонтактноеЛицоПартнера]", Ложь, Истина, Ложь, , , Истина, , Ложь, Выборка.КонтактноеЛицоПартнера);
               
       Замена = Док.Content.Find;
       Замена.Execute("[Уточнить]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Замена = Док.Content.Find;
       Замена.Execute("[НазваниеФирмыПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Замена = Док.Content.Find;
       Замена.Execute("[ЮридическийАдресПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Замена = Док.Content.Find;
       Замена.Execute("[ФактическийАдресПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Замена = Док.Content.Find;
       Замена.Execute("[ТелефонПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, Выборка.ТелефонПокупателя);

       Замена = Док.Content.Find;
       Замена.Execute("[ПочтовыйАдресПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, Выборка.ПочтовыйАдресПокупателя);
       
       Замена = Док.Content.Find;
       Замена.Execute("[ОГРНПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");

       Замена = Док.Content.Find;
       Замена.Execute("[ИННПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, Выборка.ИННПокупателя);
       
       Замена = Док.Content.Find;
       Замена.Execute("[ОКПОПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, Выборка.ОКПОПокупателя);
       
       Замена = Док.Content.Find;
       Замена.Execute("[ОКВЭДПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Замена = Док.Content.Find;
       Замена.Execute("[Р/СПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Замена = Док.Content.Find;
       Замена.Execute("[ВПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Замена = Док.Content.Find;
       Замена.Execute("[БИКПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Замена = Док.Content.Find;
       Замена.Execute("[К/СПокупателя]", Ложь, Истина, Ложь, , , Истина, , Ложь, "Устава 193??? =)");
       
       Файл = "C:\VremHran" + "\" + "ДоговорПоставки";
       
       Док.SaveAs(Файл,17);
       Док.Close(0);

       //МассивДокументов.Добавить(Файл);  //добавлял в массив путь к файлу и после всех манипуляций открывал каждый файл
       ЗапуститьПриложение(Файл + ".pdf");
   Исключение
       Сообщить(ОписаниеОшибки());
       Word.Quit();
   КонецПопытки;
   
   Word.Quit();

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

все выборки содержат неопределено =(
10 RomaH
 
naïve
29.03.13
11:48
(9) ну так в Ссылка у тебя что?
11 Feunoir
 
29.03.13
11:48
(3) У меня есть клиент, который примерно так формулирует свои хотелки.
12 Gossar1C
 
29.03.13
11:51
Ссылка это массив параметров команды и там есть ссылка на объект
13 Gossar1C
 
29.03.13
12:03
такиии никто не подскажет? =\
14 Зойч
 
29.03.13
12:06
xxx: че использовать для вывода чтоб предыдущее значение сохранялось в поле и на следующей строке появлялось следующее
yyy: Что использовать чтобы огурцы ложкой банка майонеза.
(с) Баш
15 Gossar1C
 
29.03.13
12:08
Первое апреля вроде бы в понедельник =\ Сам допер в чем проблема, всем спс.