Fryytomd
1

Вывод На Печать

24.12.2011, 00:18. Показов 22022. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вечер добрый всем. Ситуация следующая имеется платформа 8.2, конфигурация Бухгалтерия базовая. Создал внешнюю обработку для создания договоров, все замечательно все работает, но есть одно но! Договор формируется из документа счет на оплату,когда он сформировался весь текст отлично отображается, когда захожу в предварительный просмотр вижу следующую картину:
Текст отображается корректно как я и хочу, перелистываю на следующую страницу, а она пустая, перелистываю следующую там текст который мне нужен, перелистываю на следующую опять пустой лист, перелистываю на 5-ю страницу текст который нужен, а на следующей опять пустота, в итоге вместо трех листов текста имею шесть на печати из которых 3 с нужным текстом и 3 пустых, подскажите куда копать?
Я предполагаю что возможно он берет из общих модулей то как надо выводить на печать но не чего не могу найти..:( может кто сталкивался и подскажет
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2011, 00:18
Ответы с готовыми решениями:

Вывод на печать DBGrid из TabSheet на печать в файл ворда
Здравствуйте, не могли бы помочь с выводом на печать? В делфи 10 подключена база и информация...

Вывод на печать
Вот я пытаюсь сформировать XPS файл. HANDLE hDevMode = 0, hDevNames = 0; PAGESETUPDLG ps;...

Вывод на печать
Доброй ночи ребят. Столкнулся с такой проблемой. У меня программа это игра боулинг, в которой свой...

Вывод на печать
Народ, подскажите как распечатать то что у меня в разметке (на экране) получается. У меня в...

18
Fryytomd
24.12.2011, 23:12 2
160 просмотров и не кто не в курсе?
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
25.12.2011, 00:36 3
"И нечего так орать" (с) не помню кто сказал.

по сабжу - предположу, что макет - mxl, чередование текст/пустота - следствие того, что у вас на страницах текст выходит за края одласти печати на бумаге. Не сходите с ума, отформатируйте текст или используйте COM и соединяйтесь с Wordом.
0
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
27.12.2011, 17:39 4
Типичная проблема.
Надо в макете выделить и удалить все столбики (штук 100) правее последнего.
0
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
27.12.2011, 23:05 5
Короче, из всего сказанного ранее - ищите на макете пунктирную вертикальную линию. И все колонки между нужным текстом и этой линии - удалить.
0
Fryytomd
28.12.2011, 09:10 6
спасибо за советы сейчас опробую.
Fryytomd
28.12.2011, 09:21 7
Вообщем отформатировал правую сторону и все стало на свои места, не подумал об этом, смутило что макет отображался корректно на первых листах.
Fryytomd
12.01.2012, 11:58 8
Всем привет! Всех с праздниками прошедшими! Итак столкнулся с проблемой в справочнике Контрагенты, есть вкладка Контакты а там Физ лицо, суть в чем я хочу что бы при формировании договора бралось фио полностью в договор. Пока релизовал через строку, тупо сам ввожу.
Вот этим методом ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.Све
денияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), "ПолноеНаименование")
могу получить и наименование и инн , а вот как ФИО получить из контактов не где найти не могу, кто чем подскажет?
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
12.01.2012, 16:36 9
Поищи в общем модуле управление контактной информацией - там есть функция, которая тебе нужна. Подсказка - подписи в счетах-фактурах и товарняках используют ту-же функцию.
0
Fryytomd
14.01.2012, 19:41 10
спасибо за подсказку ,но я там только вижу свои:

Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Руководители, Шапка.ДатаДокумента, ПодразделениеОтветственныхЛиц);

ОбластьМакетаПодвал.Параметры.ФИОРуководителя = Руководители.РуководительПредставление;
ОбластьМакетаПодвал.Параметры.ФИОГлавБухгалтера = Руководители.ГлавныйБухгалтерПредставление;
ОбластьМакетаПодвал.Параметры.ДолжностьРуководителя = Руководители.РуководительДолжность;
а, мне нужны данные конкретного контрагента ,у которого фио стоит основным.
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
15.01.2012, 11:28 11
вот как ФИО получить из контактов



а, мне нужны данные конкретного контрагента ,у которого фио стоит основным.
так всё-таки ФИО или контрагента?

Можно например так

ОбщегоНазначения.ПолучитьКонтактноеЛицоКонтрагентаПоДолжности (Документ.Клиент,Справочники.РолиКонтактныхЛиц.Руководитель) Это вернет тебе ссылку на контактное лицо.
внутри контактного лица контрагента есть ссылка на реквизит с именем контактноеЛицо и типом справочникссылка.контактныеЛица - в нем есть наименование, которое ты в принципе можешь использовать, и есть поля Фамилия, Имя, Отчество.

Если тебе надо узнать в каких контрагентах данный товарисч участвует как основной тогда так

выбрать Различные Спр.Владелец из Справочники.КонтактныеЛицаКонтрагентов как Спр Где Спр.КонтактноеЛицо = &КонтактноеЛицо и Спр.Владелец.ОсновноеКонтактноеЛицо = Спр.Ссылка;

&КонтактноеЛицо - параметр с типом справочникСсылка.КонтактныеЛица
0
Fryytomd
15.01.2012, 14:34 12
Смотри получилось таким образом : СсылкаНаОбъект.Контрагент.ОсновноеКонтактноеЛицо;
только вот можно реализовать что бы в В одном месте было записно в Род. Падеже, а в другом инициалами в именительном. Спасибо за помощь!
Fryytomd
15.01.2012, 14:57 13
а вообще я сделал вот таким образом
ДанныеФЛ = СсылкаНаОбъект.Контрагент.ОсновноеКонтактноеЛицо;
ОбластьМакета.Параметры.ЗаказчикФИО =ДанныеФЛ.Фамилия + " " + ДанныеФЛ.Имя ;
И вот тут я думаю можно как нибудь задать параметр , что бы Имя и Отчество выводились только первые буквы..
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
15.01.2012, 17:03 14
Используйте функцию "Лев(параметр1, Параметр2)"
Параметр1 - строка, которую режим
Параметр2 - стколько символов отрезаем.

Лев (Left)
Синтаксис:
Лев(<Строка>, <Число символов>)
Параметры:
<Строка> (обязательный)
Тип: Строка. Исходная строка.
<Число символов> (обязательный)
Тип: Число. Количество выбираемых символов.
Возвращаемое значение:
Тип: Строка. Строка выбранных символов.
Описание:
Выбирает первые слева символы строки.
Пример:
ИнициалИмени = Лев(Сотрудник.Имя, 1);
ИнициалОтчества = Лев(Сотрудник.Отчество, 1);
ПолноеИмя = Сотрудник.Фамилия+" "+ИнициалИмени+"."+ИнициалОтчества+".";

P.S. а вообще, люди поговаривают, что синтакс-помощник помогает.
0
Fryytomd
15.01.2012, 17:37 15
Синтакс -помощник и вправду помогает! Спасибо с инициалами все получилось, вот склонять фамилию и имя , существуют ли какие то универсальные обработки встроенные в базовую конфигурацию.?
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
15.01.2012, 17:42 16
Нет, в платформе такого нет. Есть специальные ВК для склонения. Можно заморочиться и написать код на 1С, только исключений у вас может быть вагон и маленькая тележка. Исключения - не склоняемые имена, фамилии отчетсва, сложные отчества (..оглы) и т.п.
ВК для склонения тут


Просклонять(ФИО, Падеж, Пол)

Параметр ФИО должен содержать фамилию, имя и отчество в именительном падеже единственного числа. Строка должна состоять из букв русского алфавита, пробелов и дефисов. Фамилия, имя и отчество должны разделяться пробелами. Двойные и тройные имена и фамилии должны писаться через дефис. Имена и отчества должны быть полными.

Параметр Падеж - задается числом и может принимать следующие значения от 1 до 6. (1 Именительный, 2 - Родительный, 3 - Дательный, 4 - Винительный, 5 - Творительный, 6 - Предложный)

Параметр Пол является не обязательным и принимает значения: 0 - авто, 1 - мужской, 2 - женский.

Функция возвращает результат склонения - строка, содержащая исходное ФИО в заданном падеже. В случае ошибки во входных данных сообщение об ошибке выводится в окно сообщений.
Приведенный ниже фрагмент кода на встроенном языке 1С загружает компоненту и используя метод компоненты Просклонять, получает форму родительного падежа для ФИО "Сидоров Иван Иванович".

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Пример</div></div><div class="sp-body"><div class="sp-content">

Код ( (Unknown Language)):
Попытка

// Загружаем внешнюю компоненту
ЗагрузитьВнешнююКомпоненту("NameDecl.dll");
Объект = Новый("AddIn.NameDeclension");

Исключение

Сообщить("Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!" + ОписаниеОшибки());

КонецПопытки;

// Определяем ФИО, которые надо просклонять
ФИО = " Сидоров Иван Иванович";

// Задаем требуемый падеж
Падеж = 3;

// Получаем результат склонения
Результат = Объект.Просклонять(ФИО, Падеж);
0
Fryytomd
15.01.2012, 18:16 17
Спасибо, можно обращаться на ты, буду побывать.
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
18.01.2012, 20:11 18
Цитата Сообщение от Freeland
вот склонять фамилию и имя , существуют ли какие то универсальные обработки встроенные в базовую конфигурацию.?
Будьте прощее и на жизнь смотрите легше. Создай реквизит строчный "ФИОвРодительномПадеже". Кнопочкой программа запоняет фразу "Директора Петров В.В" а человек правит. При печати вставляем в после слов "в лице".
0
Fryytomd
19.01.2012, 09:05 19
Вообще у меня все так и реализовано:facepalm: Хотел Автоматизировать больше.
19.01.2012, 09:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2012, 09:05
Помогаю со студенческими работами здесь

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

Вывод на печать.
Здравствуйте! Помогите пожалуйста написать программку: Нужно открыть файл и его содержимое...

Вывод на печать
Всем привет. Хочу сделать вывод на печать из формы - textbox и PictureBox. //Печать...

Вывод на печать
добрый день у менять в карточке товара картинка на сайте, описание и кнопка печать ( картинка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru