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

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

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

Оффлайн asmut

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: -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

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: -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

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


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


Теги:
 


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

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

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


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

* Реклама

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

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal