7.7 Ссылки на печятной форме

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем geba, 9 июн 2010.

  1. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Как сделать ссылки на документы с отчета
    Посмотреть вложение 4568

    Код:
     
    //*******************************************
    // Процедура генерации запроса Сформировать.
    //
    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбКонПериода по ВыбКонПериода;
    |Фирма = Регистр.ВзаиморасчетыПокупателей.Фирма;
    |Контрагент = Регистр.ВзаиморасчетыПокупателей.Контрагент;
    |Договор = Регистр.ВзаиморасчетыПокупателей.Договор;
    |КредДокумент = Регистр.ВзаиморасчетыПокупателей.КредДокумент;
    |Менеджер = Регистр.ВзаиморасчетыПокупателей.Контрагент.Менеджер;
    |Валюта = Регистр.ВзаиморасчетыПокупателей.Валюта;
    |Долг = Регистр.ВзаиморасчетыПокупателей.Долг;
    |ДолгОсн = Регистр.ВзаиморасчетыПокупателей.ДолгОсн;
    |Функция ДолгКонОст = КонОст(Долг);
    |Функция ДолгОснКонОст = КонОст(ДолгОсн);
    |Условие (Контрагент в ГруппаКонтрагентов);
    |Условие (Менеджер в ВыбМенеджер);
    |Группировка Фирма без групп;
    |Группировка Контрагент упорядочить по Контрагент.Наименование без групп;
    |Группировка Договор;
    |Группировка КредДокумент упорядочить по КредДокумент.ДатаДок; ";
    
    
    
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    Запрос.Выгрузить(ТЗ,1,0);               
    
    
    ТЗ.НоваяКолонка("Период1","Число",15,2); 
    ТЗ.НоваяКолонка("Период2","Число",15,2);
    ТЗ.НоваяКолонка("Период3","Число",15,2);
    ТЗ.НоваяКолонка("Период4","Число",15,2);
    ТЗ.НоваяКолонка("Период5","Число",15,2);	
    
    ТЗ.ВЫбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл
    ДатаКредДок = ТЗ.КредДокумент.ДатаДок;
    Если ((ВыбКонПериода-7)<=ДатаКредДок) и (ДатаКредДок <= (ВыбКонПериода)) Тогда   
    // Период 1
    ТЗ.Период1 = ТЗ.ДолгОснКонОст;
    ИначеЕсли ((ВыбКонПериода-14) <= ДатаКредДок) и (ДатаКредДок <= (ВыбКонПериода-8)) Тогда   
    // Период 2
    ТЗ.Период2 = ТЗ.ДолгОснКонОст; 
    ИначеЕсли ((ВыбКонПериода-21) <= ДатаКредДок) и (ДатаКредДок <= (ВыбКонПериода-15)) Тогда   
    // Период 3
    ТЗ.Период3 = ТЗ.ДолгОснКонОст;   
    ИначеЕсли ((ВыбКонПериода-30) <= ДатаКредДок) и (ДатаКредДок <= (ВыбКонПериода-22)) Тогда
    ТЗ.Период4 = ТЗ.ДолгОснКонОст;   
    Иначе
    ТЗ.Период5 = ТЗ.ДолгОснКонОст;
    КонецЕсли;
    КонецЦикла;    
    
    Если ДетализироватьПоДок = 1 Тогда
    ТЗ2 = СоздатьОбъект("ТаблицаЗначений");
    ТЗ.Выгрузить(ТЗ2);
    ТЗ2.Свернуть("Контрагент,КредДокумент","ДолгОснКонОст,Период1,Период2,Период3,Период4,Период5"); 
    ТЗ2.Сортировать("+Контрагент,+КредДокумент",1);
    КонецЕсли;   	
    
    
    ТЗ.Свернуть("Контрагент","ДолгОснКонОст,Период1,Период2,Период3,Период4,Период5");
    Если СортироватьПоСум = 1  Тогда
    ТЗ.Сортировать("-ДолгОснКонОст,+Контрагент",1);
    Иначе                                              
    ТЗ.Сортировать("+Контрагент",1);		
    КонецЕсли;
    
    
    Таб  = СоздатьОбъект("Таблица");
    Таб.ВывестиСекцию("Шапка"); 
    
    //ТЗ.ВыбратьСтроки(); Ном = 1;
    //Пока ТЗ.ПолучитьСтроку() = 1 Цикл 
    //	Если ТЗ.ДолгОснКонОст = 0 Тогда 
    //		ТЗ.УдалитьСтроку();	    
    //	КонецЕсли;             	
    //КонецЦикла;  
    
    
    ТЗ.ВыбратьСтроки(); Ном = 1;
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл 
    Таб.ВывестиСекцию("Контрагент");  		
    Если ДетализироватьПоДок = 1 Тогда
    ТЗ2.ВыбратьСтроки();
    Пока ТЗ2.ПолучитьСтроку() = 1 Цикл
    Если ТЗ2.Контрагент = ТЗ.Контрагент Тогда
    Таб.ВывестиСекцию("Документ");			
    КонецЕсли;                               			
    КонецЦикла; 
    КонецЕсли;  		
    Ном = Ном + 1;	
    КонецЦикла;   
    
    Таб.ВывестиСекцию("Подвал");
    Таб.ПараметрыСтраницы(2,100,,,,,,0,0,1);
    Таб.ПовторятьПриПечатиСтроки(7,7); 
    Таб.Опции(0,0,7,5,);
    Таб.Показать();
    
    КонецПроцедуры   
    
    
    Функция ПолЧисл(Числ) 
    Если Числ <> 0 Тогда
    Возврат Формат(Числ,"Ч15.2-");
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/иначе')">	Иначе	</span>                          
    Возврат "";	    
    КонецЕсли;     
    КонецФункции
    
    
    
    Форма.ГруппаКонтрагентов.ВыборГруппы(1);
    Форма.ВыбМенеджер.ВыборГруппы(1);
    
    

    Вложения:

    • debetorka.JPG
      debetorka.JPG
      Размер файла:
      64,3 КБ
      Просмотров:
      40
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В макете отчета / в ячейке где выводится документ / в свойствах ячейки поле расшифровка укажите ссылку на документ.
    Для того чтобы можно было открыть документ таким способом таблица должна быть открыта в режиме просмотра
  3. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Ставлю в поле расшифровка ТЗ2.КредДокумент. Пишет при нажатии на ссылку "Ошибка открытия документа" потом "Плохой путь безымнный файл" и открывает накладную ????
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    ТЗ2.КредДокумент.ТекущийДокумент()
  5. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    не помогло, вот табл.
    Посмотреть вложение 4571

    Вложения:

    • tab.JPG
      tab.JPG
      Размер файла:
      92 КБ
      Просмотров:
      28
  6. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    На что ругается??, посмотрите в отладчике чему равен ТЗ2.КедДокумент на момент выведения его в секцию.
  7. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Или напишите процедуру :
    Код:
    Процедура ОбработкаЯчейкиТаблицы(Значение,ФлагСтандОбраб,Таблица,Адрес)
    Документ = СоздатьОбъект("Документ");
    Документ.НайтиДокумент(Значение);
    ОкрытьФорму(Документ.ТекущийДокумент());
    Возврат;
    
    
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Таблица открывается в режиме простотра?
    Таблица значений ТЗ2 ТОЧНО содержит ссылки на документы, а не наименования?
  9. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    ТЗ2.КредДокумент = Расх. накл. ФГ-0000828 (28.05.10)

    Как сделать ссылки на документы?
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Я уже говрил - в расшифровке ячейки поставить
    Код:
    ТЗ2.КредДокумент.ТекущийДокумент()
    
    
    И открывать в режиме просмотра
    Код:
    Таб.ТолькоПросмотр(1);
    
    
    Должно работать. Выложите лучше ваш отчет (ert). Иначе долго еще в угадайку играть будем
  11. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1

    Вложения:

    • Отчет.ert
      Размер файла:
      56 КБ
      Просмотров:
      19
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Я кажется объяснял....

    Вложения:

  13. TopicStarter Overlay
    geba
    Offline

    geba

    Регистрация:
    27 авг 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Все так и зделал

    Ставлю в поле расшифровка "ТЗ2.КредДокумент.ТекущийДокумент()" Пишет при нажатии на ссылку "Ошибка открытия документа" потом "Плохой путь безымнный файл" потом только открывает документ тот что нужно, немогу понять почему перед открытием дока вискакивают ети сообщения?
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вполне возможно это орет сам документ... Нужно смотреть его процедуру ПриОткрытии
  15. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Посмотрите в глобальном модуле процедуру ОбработкаЯчейкиТаблицы()
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Причем тут ОбработкаЯчейкиТаблицы в ГМ когда она есть в локальном модуле и орет тоже самое?
  17. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Ну и где она в локальном модуле?
    Посмотреть вложение 4594

    Вложения:

    • 0001.PNG
      0001.PNG
      Размер файла:
      5,8 КБ
      Просмотров:
      11
  18. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В конфигураторе глянуть слабо? Строка 124
  19. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Да, действительно недосмотрел.

    Только, IMHO, немного по другому надо:
    Код:
    Процедура ОбработкаЯчейкиТаблицы(Расшифровка, ФлагСтандОбраб)
    Документ = СоздатьОбъект(\"Документ\");
    Документ.НайтиДокумент('ТЗ2.КредДокумент');
    ОткрытьФорму(Документ.ТекущийДокумент());
    ФлагСтандОбраб = 0;   
    КонецПроцедуры
    
    
    Если и с раскомментированной процедурой в локальном модуле выдает ошибку, то Бухгалтерский угодник прав
  20. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Раз процедура в модуле есть... Значит она была когда-то раскоментарена. А раз вопрос не закрыт.... Ну вобщем короче))))))))

Поделиться этой страницей