• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы Freeland
  • Дата начала
F

Freeland

Вечер добрый всем. Ситуация следующая имеется платформа 8.2, конфигурация Бухгалтерия базовая. Создал внешнюю обработку для создания договоров, все замечательно все работает, но есть одно но! Договор формируется из документа счет на оплату,когда он сформировался весь текст отлично отображается, когда захожу в предварительный просмотр вижу следующую картину:
Текст отображается корректно как я и хочу, перелистываю на следующую страницу, а она пустая, перелистываю следующую там текст который мне нужен, перелистываю на следующую опять пустой лист, перелистываю на 5-ю страницу текст который нужен, а на следующей опять пустота, в итоге вместо трех листов текста имею шесть на печати из которых 3 с нужным текстом и 3 пустых, подскажите куда копать?
Я предполагаю что возможно он берет из общих модулей то как надо выводить на печать но не чего не могу найти..:( может кто сталкивался и подскажет:)
 
F

Freeland

160 просмотров и не кто не в курсе?
 
D

Darlock

"И нечего так орать" (с) не помню кто сказал.

по сабжу - предположу, что макет - mxl, чередование текст/пустота - следствие того, что у вас на страницах текст выходит за края одласти печати на бумаге. Не сходите с ума, отформатируйте текст или используйте COM и соединяйтесь с Word'ом.
 
Д

Дайнеко

Типичная проблема.
Надо в макете выделить и удалить все столбики (штук 100) правее последнего.
 
D

Darlock

Короче, из всего сказанного ранее - ищите на макете пунктирную вертикальную линию. И все колонки между нужным текстом и этой линии - удалить.
 
F

Freeland

спасибо за советы сейчас опробую.
 
F

Freeland

Вообщем отформатировал правую сторону и все стало на свои места, не подумал об этом, смутило что макет отображался корректно на первых листах.
 
F

Freeland

Всем привет! Всех с праздниками прошедшими! Итак столкнулся с проблемой в справочнике Контрагенты, есть вкладка Контакты а там Физ лицо, суть в чем я хочу что бы при формировании договора бралось фио полностью в договор. Пока релизовал через строку, тупо сам ввожу.
Вот этим методом ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.Све
денияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), "ПолноеНаименование")
могу получить и наименование и инн , а вот как ФИО получить из контактов не где найти не могу, кто чем подскажет?
 
P

puh14

Поищи в общем модуле управление контактной информацией - там есть функция, которая тебе нужна. Подсказка - подписи в счетах-фактурах и товарняках используют ту-же функцию.
 
F

Freeland

спасибо за подсказку ,но я там только вижу свои:

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

ОбластьМакетаПодвал.Параметры.ФИОРуководителя = Руководители.РуководительПредставление;
ОбластьМакетаПодвал.Параметры.ФИОГлавБухгалтера = Руководители.ГлавныйБухгалтерПредставление;
ОбластьМакетаПодвал.Параметры.ДолжностьРуководителя = Руководители.РуководительДолжность;
а, мне нужны данные конкретного контрагента ,у которого фио стоит основным.
 
P

puh14

вот как ФИО получить из контактов

а, мне нужны данные конкретного контрагента ,у которого фио стоит основным.

так всё-таки ФИО или контрагента?

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

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

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

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

&КонтактноеЛицо - параметр с типом справочникСсылка.КонтактныеЛица
 
F

Freeland

Смотри получилось таким образом : СсылкаНаОбъект.Контрагент.ОсновноеКонтактноеЛицо;
только вот можно реализовать что бы в В одном месте было записно в Род. Падеже, а в другом инициалами в именительном. Спасибо за помощь!
 
F

Freeland

а вообще я сделал вот таким образом
ДанныеФЛ = СсылкаНаОбъект.Контрагент.ОсновноеКонтактноеЛицо;
ОбластьМакета.Параметры.ЗаказчикФИО =ДанныеФЛ.Фамилия + " " + ДанныеФЛ.Имя ;
И вот тут я думаю можно как нибудь задать параметр , что бы Имя и Отчество выводились только первые буквы..
 
D

Darlock

Используйте функцию "Лев(параметр1, Параметр2)"
Параметр1 - строка, которую режим
Параметр2 - стколько символов отрезаем.

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

P.S. а вообще, люди поговаривают, что синтакс-помощник помогает.
 
F

Freeland

Синтакс -помощник и вправду помогает:)! Спасибо с инициалами все получилось, вот склонять фамилию и имя , существуют ли какие то универсальные обработки встроенные в базовую конфигурацию.?
 
D

Darlock

Нет, в платформе такого нет. Есть специальные ВК для склонения. Можно заморочиться и написать код на 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">
Код:
Попытка

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

Исключение

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

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

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

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

// Получаем результат склонения
Результат = Объект.Просклонять(ФИО, Падеж);
 
F

Freeland

Спасибо, можно обращаться на ты:), буду побывать.
 
Д

Дайнеко

вот склонять фамилию и имя , существуют ли какие то универсальные обработки встроенные в базовую конфигурацию.?
Будьте прощее и на жизнь смотрите легше. Создай реквизит строчный "ФИОвРодительномПадеже". Кнопочкой программа запоняет фразу "Директора Петров В.В" а человек правит. При печати вставляем в после слов "в лице".
 
F

Freeland

Вообще у меня все так и реализовано:facepalm: Хотел Автоматизировать больше.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!