Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Вывод диалога с выбором данных из справочника и даты перед открытием макета печатной формы          
Constantus Подменю пользователя
сообщение 23.02.19, 12:42
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, форумчане!
1с8.3.6, УФ, самописная

Имеется некий макет печати Акта выполненных работ. В Акте имеются параметры "Город" и "ДатаСоставления"

Как можно перед печатью вывести немодальное окно, где будет спрашиваться выбор города из справочника и дату составления акта???

ВвестиДату, ВвестиСтроку и т.д. крайне неудобны. Ну я не смог их понять, а нужно именно, чтобы запрашивалось 2-а параметра, которые потом бы смогли уйти на макет.

Кроме того, нужно выбрать именно из справочника значение города

Constantus Подменю пользователя
сообщение 23.02.19, 15:43
Сообщение #2

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Печеть расположена в модуле Менеджера

Функция ПечатьАктаПриемаУслугПоУстановкеИзделия(МассивОбъектов, ОбъектыПечати)
    
    ////ОткрытьФорму("Документ.Заказ.Форма.ФормаОтбора");
    //ДатаАкта = ТекущаяДата();
    //Если
    //    ВвестиДату(ДатаАкта, "Введите дату подписания акта", ЧастиДаты.Дата) = Истина
    //Тогда
    //    Сообщить("Вы родились " + ДатаАкта);
    //КонецЕсли;
    
    
    Если ТипЗнч(МассивОбъектов) = Тип("Массив") Тогда
        Объект = МассивОбъектов[0];
    Иначе
        Объект = МассивОбъектов;
    КонецЕсли;
    
    Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.АктПриемаУслугПоУстановкеИзделия"); //ПолучитьОбщийМакет("АктПриемаУслугПоУстановкеИзделия");
    
    Таб=Новый ТабличныйДокумент;
    
    Обл=Макет;
    
    Обл.Параметры.НомерДоговора = Объект.Номер;
    Обл.Параметры.Заказчик = Объект.Заказчик.Наименование;
    Обл.Параметры.ДатаЗаказа = " от "+ Формат(Объект.Дата,"ДЛФ=DD");
    Обл.Параметры.Исполнитель = СокрЛП(Объект.Организации.ПолноеНаименование); //52898
    Обл.Параметры.Отступ = Символы.Таб + Символы.Таб;


    
    
    Таб.Вывести(Обл);
    
    Таб.ОтображатьСетку = Ложь;
    Таб.Защита = Истина; //42590
    Таб.ТолькоПросмотр = Истина;
    Таб.ОтображатьЗаголовки = Ложь;
    Таб.ПолеСлева=10;
    Таб.ПолеСправа=5;
    Таб.АвтоМасштаб = Истина;
    
    Таб.ИмяПараметровПечати="АктПриемаУслугПоУстановкеИзделия";
    Возврат Таб;


Constantus Подменю пользователя
сообщение 23.02.19, 16:52
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0


На кнопку, которая печатает добавил код открытия формы с выбором.
Открывает, выбирает город и дату...

Но (если я на верном пути) как передать эти город и дату в менеджер объекта, чтобы эти значения пропечатались в макете?

Обл.Параметры.Город = ????????????????;


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    ПолучитьФорму("Документ.Заказ.Форма.ФормаОтбора").ОткрытьМодально();    
    
    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
        "Документ.Заказ",
        "ПечатьАктУслугУстановки",
        ПараметрКоманды,
        Неопределено);

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



nik389 Подменю пользователя
сообщение 23.02.19, 21:51
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35

на инфостарте было "Передача параметров в управляемые и обычные формы"
когда-то воспользовался, помогло

Constantus Подменю пользователя
сообщение 24.02.19, 9:04
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

nik389 @ Сегодня, 0:51 * ,

И как это помогло?

nik389 Подменю пользователя
сообщение 24.02.19, 10:55
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35

все получилось. задача была, во внешнюю печ. форму параметры передавать

Constantus Подменю пользователя
сообщение 24.02.19, 11:37
Сообщение #7

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

nik389 @ Сегодня, 13:55 * ,

Понимаю, что сейчас глупость сморожу, но у меня не внешняя печатная форма, внутренний макет печати...

Как таковых параметров при печати этого макета нет. Нажимается кнопка, а потом в Менеджере идет отбор непосредственно из формы...

На кнопке открываю форму "Форма отбора" - эта форма свободная без привязки к какаому либо документу

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    ПолучитьФорму("Документ.Заказ.Форма.ФормаОтбора").ОткрытьМодально();    
    
    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
        "Документ.Заказ",
        "ПечатьАктУслугУстановки",
        ПараметрКоманды,
        Неопределено);

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


При создании на сервере этой свободной формы пишу:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    //Вставить содержимое обработчика
    
    ЭтаФорма.ГородДляПечати = Справочники.Города.НайтиПоНаименованию("Ярославль");
    ЭтаФорма.ДатаСоставленияАкта = ТекущаяДата();
    
    Параметры = Новый Структура("ГородПечати",ЭтаФорма.ГородДляПечати);
    

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


Потом эта форма закрывается. Нужно где-то и как-то сохранить этот Город и потом применить его при печати Макета в Менеджере:

Обл=Макет;
    
    Обл.Параметры.НомерДоговора = Объект.Номер;
    Обл.Параметры.Заказчик = Объект.Заказчик.Наименование;
    Обл.Параметры.ДатаЗаказа = " от "+ Формат(Объект.Дата,"ДЛФ=DD");

Обл.Параметры.ДатаЗаказа = Город //????????????????


дайте списать icon_beer17.gif


 ! 

Правила: 9
 


Сообщение отредактировал Vofka - 25.02.19, 9:27

nik389 Подменю пользователя
сообщение 24.02.19, 13:06
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35

если у вас УФ и используется БСП, и вы не хотите ломать общий механизм печати,
без внешней печатной формы не обойтись. и эта печатная форма будет принимать ваши параметры

1. определяется собственная команда печати, которая будет вызывать вашу внешнюю печ. форму
2. разрабатывается внешняя печ. форма, там есть пара нюансов

лучше, чем расписано в этом посте, [необходимо зарегистрироваться для просмотра ссылки] я не расскажу

Цитата
Нужно где-то и как-то сохранить этот Город и потом применить

можно через ХранилищеОбщихНастроек это сделать, как вариант, хоть это и некрасиво

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 6:28
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!