[РЕШЕНО] Как програмно нажать кнопку на управляемой форме

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Nik02071, 8 апр 2015.

  1. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Есть управляемые формы документ ТабельУчетаРабочегоВремени Есть кнопка на ФормеДокумента Заполнить. Создаю из внешней обработки новый документ заполняю табличную часть из спр. Сотрудники. Как програмно из внешней обработки нажать на кнопку Заполнить этого документа?
    --- Объединение сообщений, 8 апр 2015 ---
    Типовая конфигурация зуп3.0 не снимая с поддержки
  2. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Вызвать процедуру, которая привязана к кнопке ? или я уже путаю с другим языкомo_O
  3. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    т.е. к этой кнопке привязана команда которая запускает функцию на сервере ЗаполнитьСотрудникамиОрганизацииНаСервере() и как к ней обратиться из внешней обработки?
  4. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Получить этот объект(где есть эта кнопка), вроде
  5. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    После того как я его создал и записал обработкой но не заполнил. Его снова получить?
  6. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Нет, не обязательно получать заново. У вас же переменная сохранилась, в которую передается объект ?
  7. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Док=документы.ТабельУчетаРабочегоВремени.СоздатьДокумент();
    Док.Записать(РежимЗаписиДокумента.Проведение);

    это ссылка на документ помоему
    т.е. Док.ПолучитьОбъект(); ?
  8. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Нет, это объект. Ссылку вы записать не можете.
  9. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Создал я реквизит произвольного типа, поместил в него форму на сервере, получил через объект форму на клиенте
    Код:
    НаКлиенте
        Процедура Команда1(Команда)
           
    СформСотрНаСервере();
       //  Объект.ФормаДокумента.КомандыТаблицыГруппа
    Форма=Объект.ФормаДокумента;
    // Форма.Элементы.
        КонецПроцедуры
    
    В типовой кофигурации к кнопке заполнить привязана процедура
    Заполнить(Команда);
    Как ее запустить из внешней обработки?
  10. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
  11. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    хотелось бы вытащить встроенный отчет т-13 (зуп3) и сделать его внешним( добавить две строчки в код) без снятия с поддержки. Как это сделать с минимальными затратами времени?
  12. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Конфы нет под рукой. По сути, если отчет не привязан к какому-то конкретно объекту(но и это можно обойти в ВПФ), можно смело сохранять отчет как внешний. Далее в Предприятии, добавить сохраненный отчет.
  13. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    большое спасибо!
  14. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Подскажите где в коде надо ввести строки чтобы на каждом листе повторялась шапка таблицы табеля ОбластьШапкаТаблицы


    Код:
    Процедура ВывестиМакет(ДокументРезультат, ДанныеОВремени, ДатаНачала, ДатаОкончания, ДатаОтчета)
        ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
        ДокументРезультат.АвтоМасштаб = Истина;
       
        ТекущийЛист = Новый ТабличныйДокумент;
       
        Макет = ПолучитьМакет("Макет");    
       
        ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
        ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("Колонтитул");
        ОбластьДанныеОВремени = Макет.ПолучитьОбласть("Строка");
        ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
       
        Для Каждого ДанныеПоОрганизации Из ДанныеОВремени.Строки Цикл
            ВывестиШапку(ДокументРезультат, ОбластьШапка, ДанныеПоОрганизации, ДатаНачала, ДатаОкончания, ДатаОтчета, ТекущийЛист);
           
            ПроверяемыеОбласти = Новый Массив;
            ПроверяемыеОбласти.Добавить(ОбластьШапкаТаблицы);
            ПроверяемыеОбласти.Добавить(ОбластьДанныеОВремени);
           
            ВывестиОбласть(ДокументРезультат, ТекущийЛист, ОбластьШапкаТаблицы, ПроверяемыеОбласти);
            /////////////////////////////////////////////////////////////////////////////
           
            //ТекущийЛист.Вывести(ОбластьШапкаТаблицы);
            //ТекущийЛист.ПовторятьПриПечатиСтроки=ТекущийЛист.Вывести(ОбластьШапкаТаблицы);
            ////////////////////////////////////////////////////////////////////////////
            Для Каждого ДанныеПоСотруднику Из ДанныеПоОрганизации.Строки Цикл
                 ВывестиДанныеПоСотруднику(ДокументРезультат, ОбластьДанныеОВремени, ОбластьШапкаТаблицы, ДанныеПоСотруднику, ТекущийЛист);       
            КонецЦикла;   
            
            ВывестиПодвал(ДокументРезультат, ОбластьПодвал, ДанныеПоОрганизации.Организация, ДатаОтчета, ДанныеПоОрганизации.ПараметрыДанныхОтветственный, ТекущийЛист)
        КонецЦикла;
    КонецПроцедуры   
    

    роцедура ВывестиОбласть(ДокументРезультат, ТекущийЛист, ВыводимаяОбласть, ПроверяемыеОбласти)
    ТекущийЛист.ОриентацияСтраницы = ДокументРезультат.ОриентацияСтраницы;
    ТекущийЛист.АвтоМасштаб = ДокументРезультат.АвтоМасштаб;

    Если Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТекущийЛист, ПроверяемыеОбласти) Тогда
    ТекущийЛист.ВывестиГоризонтальныйРазделительСтраниц();

    ДокументРезультат.Вывести(ТекущийЛист);

    ТекущийЛист = Новый ТабличныйДокумент;
    КонецЕсли;

    //Если ВыводимаяОбласть="ОбластьШапкаТаблицы" Тогда
    //ДокументРезультат.Вывести(ВыводимаяОбласть);
    //ТекущийЛист.ПовторятьПриПечатиСтроки=ТекущийЛист.Вывести(ВыводимаяОбласть);
    // Иначе
    ДокументРезультат.Вывести(ВыводимаяОбласть);
    //КонецЕсли;
    КонецПроцедуры
  15. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Считайте количество выводимых строк, т.е. сколько помещается, либо пробуйте Фиксировать сверху.
  16. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    А ПовторитьПриПечатиСтроки ? не получится?
  17. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    А почему закоментили ПовторятьПриПечатиСтроки() ?
  18. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Я пробовал получалось, но были строки одинаковой высоты
  19. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Ну тогда велосипед с квадратными колесами из сообщения №15
  20. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Спасиобо все получилось.

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