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

Автор Тема: Документы одного вида в одном макете  (Прочитано 1842 раз)

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

Оффлайн asmut

  • *
  • Сообщений: 31
  • РЕПУТАЦИЯ: -6
  • Чем лучше груди, тем хуже запоминается лицо
  • Регистрация: 2011-06-02
  • Сайт: 
  • Профессия: Ученик 1С
Приветствую.
Задача стоит следующим образом: несколько одинаковых документов поместить на один табличный документ и желательно в две колонки.
Курил мануал, читал google, не сообразил. Кто что может подсказать?



&НаКлиенте
Процедура Печать(Команда)
    ТабДок = Новый ТабличныйДокумент;
    ПечатьАкта(ТабДок);
   
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать();
   
КонецПроцедуры

&НаСервере
Процедура ПечатьАкта(ТабДок) //Получает пустой табличный документ, который необходимо заполнить
    //Получаем макет
    Макет = Обработки.МассоваяПечатьАктов.ПолучитьМакет("Печать");
   
    k=0;
   
    Для Каждого Стр ИЗ Объект.Акты Цикл
        //Выбираем по ссылке необходимые данные
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    АктПередачиТМЦМОЛ.ВидТовара,
        |    АктПередачиТМЦМОЛ.Дата,
        |    АктПередачиТМЦМОЛ.ИзМагазина,
        |    АктПередачиТМЦМОЛ.ИзСклада,
        |    АктПередачиТМЦМОЛ.ИнвентарныйНомер,
        |    АктПередачиТМЦМОЛ.Количество,
        |    АктПередачиТМЦМОЛ.Магазин,
        |    АктПередачиТМЦМОЛ.Марка,
        |    АктПередачиТМЦМОЛ.МОЛ,
        |    АктПередачиТМЦМОЛ.Наименование,
        |    АктПередачиТМЦМОЛ.Номер,
        |    АктПередачиТМЦМОЛ.Склад
        |ИЗ
        |    Документ.АктПередачиТМЦМОЛ КАК АктПередачиТМЦМОЛ
        |ГДЕ
        |    АктПередачиТМЦМОЛ.Ссылка В (&Ссылка)";
        Запрос.Параметры.Вставить("Ссылка", Стр.СсылкаНаАкт);
       
        Выборка = Запрос.Выполнить().Выбрать();
       
       
        //Получаем из макета области
        ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        Шапка = Макет.ПолучитьОбласть("Шапка");
        Подвал = Макет.ПолучитьОбласть("Подвал");
        //Очищаем на всякий случай табличный документ
        ТабДок.Очистить();
       
        //Выставляеам разделитель страниц в Ложь
        ВставлятьРазделительСтраниц = Ложь;
       
        //Перебираем выборку по циклу
        Пока Выборка.Следующий() Цикл
           
            //Как только цикл пройдет один раз
            //ВставлятьРазделительСтраниц будет равен Истина и условие сработает
            Если ВставлятьРазделительСтраниц Тогда
                ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
            КонецЕсли;
           
           
            Если k = 0 Тогда
                //Выводим в табличный документ Заголовок
                ТабДок.Вывести(ОбластьЗаголовок);
               
                //Выводим Шапку
                Шапка.Параметры.Заполнить(Выборка);
                ТабДок.Вывести(Шапка, Выборка.Уровень());
               
                //Выводим подвал
                ТабДок.Вывести(Подвал);
            Иначе
                //Выводим в табличный документ Заголовок
                ТабДок.Присоединить(ОбластьЗаголовок);
               
                //Выводим Шапку
                Шапка.Параметры.Заполнить(Выборка);
                ТабДок.Присоединить(Шапка, Выборка.Уровень());
               
                //Выводим подвал
                ТабДок.Присоединить(Подвал);
            КонецЕсли;
           
            //Устанавливаем Разделить страниц в Истину, чтобы
            ВставлятьРазделительСтраниц = Истина;
           
            k = k+1;
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры




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

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

Оффлайн asmut

  • *
  • Сообщений: 31
  • РЕПУТАЦИЯ: -6
  • Чем лучше груди, тем хуже запоминается лицо
  • Регистрация: 2011-06-02
  • Сайт: 
  • Профессия: Ученик 1С
1. Создаете чистый табдок.
2. Создаете функцию, возвращающую табдок, заполненный печатной формой документа
3. Крутите цикл по документам
4. Нечетный док делаете Вывести() (метод у чистого табдока естественно), а четный Присоединить()

Хорошая логика.
Но мне бы кусочек кода а то я не понял что крутить, я уже все вертел))
Заранее благодарен
Добавлено: 18 Май 2014, 17:34

1. Создаете чистый табдок.
2. Создаете функцию, возвращающую табдок, заполненный печатной формой документа
3. Крутите цикл по документам
4. Нечетный док делаете Вывести() (метод у чистого табдока естественно), а четный Присоединить()

Хорошая логика.
Но мне бы кусочек кода а то я не понял что крутить, я уже все вертел))
Заранее благодарен

Не работает в тонком клиенте. Я по УФ программирую. Выручайте господа

Последний раз редактировалось: asmut; 18 Май 2014, 17:34. Причина: Объединение сообщений

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

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

Оффлайн asmut

  • *
  • Сообщений: 31
  • РЕПУТАЦИЯ: -6
  • Чем лучше груди, тем хуже запоминается лицо
  • Регистрация: 2011-06-02
  • Сайт: 
  • Профессия: Ученик 1С
Сделайте печатную форму (любую, от фонаря) конструктором печати - увидите как все должно быть организовано в случае УФ.


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


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
152 Сообщений
oleg-x
64 Сообщений
alex0402
60 Сообщений
AIFrame AIFrame
52 Сообщений
wise wise
37 Сообщений
KOI8-R
33 Сообщений
buketov.av buketov.av
28 Сообщений
Alter
22 Сообщений
Анюта17
19 Сообщений
BuhRust
19 Сообщений

* Кто онлайн

  • Точка Гостей: 159
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal