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

Хранилище

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

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



> ПовторятьПриПечатиСтроки - повторяет не то что нужно          
Stemesseder Подменю пользователя
сообщение 31.08.17, 11:22
Сообщение #1

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

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

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

ТабДокумент.ПовторятьПриПечатиСтроки = Макет.Область("ЗаголовокТаблицы");


В результате на следующей станице повторяется не заголовок к таблице а первые 2 строки самой таблицы.

Сообщение отредактировал Vofka - 31.08.17, 12:36

podcast Подменю пользователя
сообщение 31.08.17, 12:34
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 306
Спасибо сказали: 74 раз
Рейтинг: 0

Stemesseder @ Сегодня, 12:22 * ,
    Если Не ТабДокумент.ПроверитьВывод(ПоследняяОбласть) Тогда 
        // ПоследняяОбласть не вмещается.
        ТабДокумент.ПовторятьПриПечатиСтроки = Макет.Область("ЗаголовокТаблицы")
    КонецЕсли;

Stemesseder Подменю пользователя
сообщение 31.08.17, 13:14
Сообщение #3

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

podcast @ Сегодня, 13:34 * ,

Спасибо но ПроверитьВывод не работал в этом документе и раньше и сейчас не срабатывает. Вернее срабатывает с ошибкой:

{Документ.ТТН.МодульОбъекта(1577)}: Ошибка при вызове метода контекста (ПроверитьВывод)
Если ТабДокумент.ПроверитьВывод("Строка") тогда
по причине:
Несоответствие типов (параметр номер '1')

Написано было так:
    ОбластьМакета = Макет.ПолучитьОбласть("Строка");
    Если Документы.Количество() > 0 Тогда
НомерСтроки = 0;
        Для каждого Строка из ТЗ Цикл

            ОбластьМакета.Параметры.Заполнить(Строка);
            НомерСтроки = НомерСтроки + 1;
            ОбластьМакета.Параметры.КодПродукции = НомерСтроки;
            ТабДокумент.Вывести(ОбластьМакета);
                       Если Не ТабДокумент.ПроверитьВывод("Строка") тогда

                сообщить("1"); //просто проверяю

            КонецЕсли;


У документа в начале установлено
ТабДокумент.АвтоМасштаб             = Истина;

Bernet Подменю пользователя
сообщение 31.08.17, 13:41
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

Stemesseder @ Сегодня, 14:14 * ,
Проверить вывод немного не то делает, туда не строка передается. Выдержка из Синтаксис-помощника:
Цитата
Синтаксис:

ПроверитьВывод(<Таблицы>)
Параметры:

<Таблицы> (обязательный)

Тип: Массив; ТабличныйДокумент.
Массив из проверяемых таблиц или табличный документ.
Возвращаемое значение:

Тип: Булево.
Истина - умещаются; Ложь - в противном случае.
Описание:

Проверяет, умещаются ли переданные табличные документы на страницу при печати.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

При возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.
Следует учитывать, если для табличного документа установлены поля, размер которых меньше размера полей, установленных для принтера, на котором документ будет напечатан, то при печати содержимое некоторых строк может не уместиться на странице, даже если метод возвращает значение Истина.
Пример:

Т.Добавить(ШапкаДокумента);
Т.Добавить(СтрокаДокумента);
Т.Добавить(ПодвалДокумента);
Если Не ТабДок.ПроверитьВывод(Т) Тогда
Сообщить("Документ не умещается на страницу!");
КонецЕсли;


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Stemesseder Подменю пользователя
сообщение 01.09.17, 16:37
Сообщение #5

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

Bernet @ Вчера, 14:41 * ,

Переделал так

МассивОбластей = Новый массив;

ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); //много всего написано - получена область "шапка", заполнена и после ее вывода помещена в массив областей документа

ТабДокумент.Вывести(ОбластьМакета);
МассивОбластей.Добавить(ОбластьМакета.Область("Шапка"));//заполнение массива

//Аналогично по области макета "ЗаголовокТаблицы"

ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
ТабДокумент.Вывести(ЗаголовокТаблицы);
МассивОбластей.Добавить(ЗаголовокТаблицы);

//Аналогично по области макета "строка"

ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ТабДокумент.Вывести(ОбластьМакета);
МассивОбластей.Добавить(ОбластьМакета.Область("Строка"));


//т.к именно помещается или нет область "строка" меня интересует то так написано:

Если Не ТабДокумент.ПроверитьВывод(МассивОбластей) тогда
                сообщить("1");
Иначе
                Сообщить("2");
КонецЕсли


В результате
{Документ.ТТН.МодульОбъекта(1571)}: Ошибка при вызове метода контекста (ПроверитьВывод)
Если Не ТабДокумент.ПроверитьВывод(МассивОбластей) тогда
по причине:
Несоответствие типов (параметр номер '1')

Не получается

logist Подменю пользователя
сообщение 01.09.17, 19:39
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

МассивОбластей должен быть массив элементов типа ТабличныйДокумент, а у вас там тип ОбластьЯчеекТабличногоДокумента


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Stemesseder Подменю пользователя
сообщение 04.09.17, 15:55
Сообщение #7

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

logist @ 01.09.17, 20:39 * ,

Подскажите как заполнить в моем случае массив, так что бы тип элементов был правильный с сработала проверка.

logist Подменю пользователя
сообщение 05.09.17, 10:51
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Возможно так:
Если Не ТабДокумент.ПроверитьВывод(ТабДокумент) тогда


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Stemesseder Подменю пользователя
сообщение 05.09.17, 11:47
Сообщение #9

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

logist @ Сегодня, 11:51 * ,

О, спасибо, прогресс наметился - ПроверитьВывод срабатывает, однако и в случае 1 страницы сообщает "1" и в случае 2-х страниц тоже сообщает "1"

Значит массив не правильно заполняется ?

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


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

 

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