Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 09:18
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Автоматическое заполнение оставшегося свободного места отчёта  (Прочитано 1351 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Доброе утро, 1С 8.2, "Управление торговлей", редакция 10.3 (10.3.7.9).
Вопрос, каким образом можно научить 1С заполнять свободное место в отчёте пустыми строками? В приложении скрин с примером.
Ситуация такая, есть форма отчёта в которую выводится информация из программы о заказанных работах, обычная ситуация - около шести-семи строк. Также есть область, в которую пользователь хочет вписывать информацию о проделанных работах вручную (см. изображение из приложения). Эта область должна сама растягиваться в зависимости от того, сколько свободного места осталось на листе. На ней рисуется таблица с графами "Наименование работы", "Исполнитель", "Нормочасы", "Стоимость".
Пока что я жёстко вбил количество строк во второй области в макете, но это не удобно, т.к. если в первой области мало информации, то внизу листа остаётся пустое место, и наоборот, если много - переносится часть таблицы на второй лист, что тоже не подходит пользователю.
Подскажите пожалуйста, в какую сторону копать?


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
В цикле выводите строки для ручного заполнения. На каждом шаге цикла пользуете ПроверитьВывод()

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Данный метод хорош при небольшом документообороте и малом числе пользователей в базе. В противном случае будет ощутимо тормозить. Ну и естественно принтер, на который происходит печать должен быть основным.

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
И не забывайте программно отступы, колонтитулы и прочие задавать
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Данный метод хорош при небольшом документообороте и малом числе пользователей в базе. В противном случае будет ощутимо тормозить. Ну и естественно принтер, на который происходит печать должен быть основным.
Как раз то, что надо. Мало пользователей и записей не так много.

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Пробовал сделать цикл, который выводит одну и ту же олрасть до тех пор, пока не закончится лист, вот часть процедуры:
ОбластьЗаявкаТаблица = Макет.ПолучитьОбласть("ЗаявкаТаблица");
МассивОбластей = Новый Массив();

МассивОбластей.Добавить(ОбластьЗаявкаТаблица);
Для Каждого Строка из ОбластьЗаявкаТаблица Цикл
    ТабДокумент.Вывести(ОбластьЗаявкаТаблица);
    Если НЕ ТабДокумент.ПроверитьВывод(МассивОбластей) Тогда
        ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
КонецЦикла;
только вот получаю сообщение:
Итератор для значения не определен
Для каждого Строка из ОбластьЗаявкаТаблица Цикл
Пока не могу врубиться, как это исправить.

Дополнение:
Посмотрел дебаггером, всё зависает в момент, когда доходит до "Строка". Каким образом передать программе, что надо перебирать строки, дабы понять, что лист закончился?
Добавлено: 30 Сен 2015, 14:29

Почти обрадовался, изменив код таким вот образом:
Пока НЕ ТабДокумент.ПроверитьВывод(МассивОбластей) Цикл
ТабДокумент.Вывести(ОбластьЗаявкаТаблица);
КонецЦикла;

т.е. пока не конец листа надо выводить ОбластьЗаявкаТаблица.
На что программа мне ответила:
Ошибка при вызова метода контекста (ПроверитьВывод)
Пока НЕ ТабДокумент.ПроверитьВывод(МассивОбластей) Цикл

Последний раз редактировалось: keramik; 30 Сен 2015, 14:29. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
ПроверитьВывод() может косячить когда основной принтер не установлен...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Но вариант с циклом "Пока..." должен работать. Так?

Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 185
  • КПД: 20%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Ну сделай так например:
Вывод = Истина;
Пока Вывод Цикл
    Если ТабДок.ПроверитьВывод(Массив) Тогда
Табдок.Вывести(Обл);
Иначе
Вывод = Ложь;
КонецЕсли;
КонецЦикла;


Теги:
 

Заполнение табл. части документа из табл. части другого документа

Автор WillРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 11
Просмотров: 7598
Последний ответ 16 Авг 2012, 21:50
от Will
Печатная форма "ЧекККМ" для "Отчета о розничных продажах"

Автор Игорь ПолищукРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 7071
Последний ответ 01 Июн 2011, 20:39
от Шурыгин Иван Сергеевич
Формирование отчёта "Задолженость по контрагентам" 1С:Предприятие 8.2 "Торговля для частных предпринимателей базовая", редакция 1.0

Автор casper009Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 3007
Последний ответ 27 Май 2015, 10:02
от casper009
Заполнение табличной части документа табличной частью из другого документа

Автор PeaceownerРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2543
Последний ответ 30 Ноя 2011, 07:10
от has
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4208
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
50 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 196
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal