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

Автор Тема: Вывести на печать комментарии из табличной части  (Прочитано 2361 раз)

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

Оффлайн pixel

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-21
  • Сайт: 
  • Профессия: Бухгалтер
Здравствуйте,
сразу скажу что я бухгалтер ,но какие то элементарные вещи пытаюсь делать сама.
проблема такая: есть документ в котором заполняется табличная часть  с материалами и я завела еще одну колонку(Примечание) ,которое будет печататься мной к каждому материалу. что я сделала:завела реквизит  табличной части Примечание(тип строка),добавила его в табличную часть.Сделала колонку в печатной форме.  добавила в код программы
ОбластьСтрока.Параметры.Прим= СтрокаТзСписание.Примечание
а комментарий так и не печатается,говорит :Поле объекта не обнаружено (Примечание). Что я делаю не так?
Спасибо заранее,не судите строго)))


Оффлайн Kironten

  • *****
  • Сообщений: 900
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте,
сразу скажу что я бухгалтер ,но какие то элементарные вещи пытаюсь делать сама.
проблема такая: есть документ в котором заполняется табличная часть  с материалами и я завела еще одну колонку(Примечание) ,которое будет печататься мной к каждому материалу. что я сделала:завела реквизит  табличной части Примечание(тип строка),добавила его в табличную часть.Сделала колонку в печатной форме.  добавила в код программы
ОбластьСтрока.Параметры.Прим= СтрокаТзСписание.Примечание
а комментарий так и не печатается,говорит :Поле объекта не обнаружено (Примечание). Что я делаю не так?
Спасибо заранее,не судите строго)))
Попробуйте в печатной форме обозвать параметр "Прим" как "Примечание".
Если заполнение идет через ЗаполнитьЗначенияСвойств, то возможно этого будет достаточно.
Если же нет, то ищите где в коде заполнение. Одной, вашей строки кода недостаточно, чтобы можно было что-то посоветовать - выкладывайте весь код заполнения.

Оффлайн pixel

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-21
  • Сайт: 
  • Профессия: Бухгалтер

Попробуйте в печатной форме обозвать параметр "Прим" как "Примечание".
Если заполнение идет через ЗаполнитьЗначенияСвойств, то возможно этого будет достаточно.
Если же нет, то ищите где в коде заполнение. Одной, вашей строки кода недостаточно, чтобы можно было что-то посоветовать - выкладывайте весь код заполнения.
[/quote]

      ОбластьЗаголовок    = Макет.ПолучитьОбласть("Заголовок");
      ОбластьШапка       = Макет.ПолучитьОбласть("Шапка");
      ОбластьСтрока       = Макет.ПолучитьОбласть("Строка");
         Если ФлагПечать Тогда
         ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
      КонецЕсли;
      тзСписание = ЭтотОбъект.Списание.Выгрузить();
          тзСписание.Свернуть("ВидНормы,ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
           тзПоступление = ЭтотОбъект.Поступление.Выгрузить();
   тзПоступление.Свернуть("ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
      
      ТабДок = Новый ТабличныйДокумент;
      ОбластьЗаголовок.Параметры.ДатаУтверждения = Формат(ДатаУтверждения,"ДЛФ=DD")+" г.";
      ОбластьЗаголовок.Параметры.КоличествоПродукции = Количество;
      ОбластьЗаголовок.Параметры.ЕдиницаПродукции = ЕдиницаИзмерения;
      ОбластьЗаголовок.Параметры.НаименованиеПродукции = ЭтотОбъект.Владелец.ПолноеНаименование;
      ОбластьЗаголовок.Параметры.ХарактеристикаТМЦ = ХарактеристикаТМЦ;
            ТабДок.Вывести(ОбластьЗаголовок);
            Если тзСписание.Количество() > 0 Тогда
      ОбластьШапка.Параметры.ЗаголовокТаблицы = "Списание материалов";
      Область = Макет.ПолучитьОбласть("Шапка");
         ТабДок.Вывести(ОбластьШапка);
         НомСтроки = 1;
         Для Каждого СтрокаТзСписание Из тзСписание Цикл
            ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
            ОбластьСтрока.Параметры.Заполнить(СтрокаТзСписание);
            ОбластьСтрока.Параметры.НомСтроки = НомСтроки;
               ОбластьСтрока.Параметры.Примечание= СтрокаТзСписание.Примечание;
                  КонецЕсли;

И дальше по тексту))
                           

Оффлайн Kironten

  • *****
  • Сообщений: 900
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Хрень какая то.
Цикл завершается КонецЕсли.

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

Хотя... там еще есть какая то таблица значений поступления.
В общем показывайте код до заполнения подвала. Так понятнее будет.

Оффлайн pixel

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-21
  • Сайт: 
  • Профессия: Бухгалтер
я просто хотела как лучше,чтоб покороче:)

 ОбластьЗаголовок    = Макет.ПолучитьОбласть("Заголовок");
      ОбластьШапка       = Макет.ПолучитьОбласть("Шапка");
      ОбластьСтрока       = Макет.ПолучитьОбласть("Строка");
         Если ФлагПечать Тогда
         ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
      КонецЕсли;
      тзСписание = ЭтотОбъект.Списание.Выгрузить();
          тзСписание.Свернуть("ВидНормы,ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
           тзПоступление = ЭтотОбъект.Поступление.Выгрузить();
   тзПоступление.Свернуть("ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
     
      ТабДок = Новый ТабличныйДокумент;
      ОбластьЗаголовок.Параметры.ДатаУтверждения = Формат(ДатаУтверждения,"ДЛФ=DD")+" г.";
      ОбластьЗаголовок.Параметры.КоличествоПродукции = Количество;
      ОбластьЗаголовок.Параметры.ЕдиницаПродукции = ЕдиницаИзмерения;
      ОбластьЗаголовок.Параметры.НаименованиеПродукции = ЭтотОбъект.Владелец.ПолноеНаименование;
      ОбластьЗаголовок.Параметры.ХарактеристикаТМЦ = ХарактеристикаТМЦ;
            ТабДок.Вывести(ОбластьЗаголовок);
            Если тзСписание.Количество() > 0 Тогда
      ОбластьШапка.Параметры.ЗаголовокТаблицы = "Списание материалов";
      Область = Макет.ПолучитьОбласть("Шапка");
         ТабДок.Вывести(ОбластьШапка);
         НомСтроки = 1;
         Для Каждого СтрокаТзСписание Из тзСписание Цикл
            ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
            ОбластьСтрока.Параметры.Заполнить(СтрокаТзСписание);
            ОбластьСтрока.Параметры.НомСтроки = НомСтроки;
               ОбластьСтрока.Параметры.Примечание= СтрокаТзСписание.Примечание;
                  КонецЕсли;
Если ТипЗнч(СтрокаТзСписание.ТМЦ) = Тип("СправочникСсылка.КлассификаторТМЦ") Тогда
   ОбластьСтрока.Параметры.НаименованиеТМЦ = СтрокаТзСписание.ТМЦ.Наименование;
               Иначе   
лТМЦ = "" + ?(обПустоеЗначение(СтрокаТзСписание.ТМЦ.ПолноеНаименование),СтрокаТзСписание.ТМЦ.Наименование,СтрокаТзСписание.ТМЦ.ПолноеНаименование) + ?(обПустоеЗначение(СтрокаТзСписание.ХарактеристикаТМЦ),""," "+СтрокаТзСписание.ХарактеристикаТМЦ);
ОбластьСтрока.Параметры.НаименованиеТМЦ = лТМЦ;
         КонецЕсли;   
      ТабДок.Вывести(ОбластьСтрока);
      НомСтроки = НомСтроки + 1;
      КонецЦикла;
      
   ОбластьПодвал.Параметры.ДолжностьСотрудник1 = обПолучитьПериодическиеСведенияОСотруднике(Подпись1).Должность;
   ОбластьПодвал.Параметры.ФИОСотрудник1 = обФИО(Подпись1);
   ОбластьПодвал.Параметры.ДолжностьСотрудник2 = обПолучитьПериодическиеСведенияОСотруднике(Подпись2).Должность;
   ОбластьПодвал.Параметры.ФИОСотрудник2 = обФИО(Подпись2);
         ТабДок.Вывести(ОбластьПодвал);


Оффлайн Kironten

  • *****
  • Сообщений: 900
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
я просто хотела как лучше,чтоб покороче:)

 ОбластьЗаголовок    = Макет.ПолучитьОбласть("Заголовок");
      ОбластьШапка       = Макет.ПолучитьОбласть("Шапка");
      ОбластьСтрока       = Макет.ПолучитьОбласть("Строка");
         Если ФлагПечать Тогда
         ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
      КонецЕсли;
      тзСписание = ЭтотОбъект.Списание.Выгрузить();
          тзСписание.Свернуть("ВидНормы,ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
           тзПоступление = ЭтотОбъект.Поступление.Выгрузить();
   тзПоступление.Свернуть("ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
     
      ТабДок = Новый ТабличныйДокумент;
      ОбластьЗаголовок.Параметры.ДатаУтверждения = Формат(ДатаУтверждения,"ДЛФ=DD")+" г.";
      ОбластьЗаголовок.Параметры.КоличествоПродукции = Количество;
      ОбластьЗаголовок.Параметры.ЕдиницаПродукции = ЕдиницаИзмерения;
      ОбластьЗаголовок.Параметры.НаименованиеПродукции = ЭтотОбъект.Владелец.ПолноеНаименование;
      ОбластьЗаголовок.Параметры.ХарактеристикаТМЦ = ХарактеристикаТМЦ;
            ТабДок.Вывести(ОбластьЗаголовок);
            Если тзСписание.Количество() > 0 Тогда
      ОбластьШапка.Параметры.ЗаголовокТаблицы = "Списание материалов";
      Область = Макет.ПолучитьОбласть("Шапка");
         ТабДок.Вывести(ОбластьШапка);
         НомСтроки = 1;
         Для Каждого СтрокаТзСписание Из тзСписание Цикл
            ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
            ОбластьСтрока.Параметры.Заполнить(СтрокаТзСписание);
            ОбластьСтрока.Параметры.НомСтроки = НомСтроки;
               ОбластьСтрока.Параметры.Примечание= СтрокаТзСписание.Примечание;
                  КонецЕсли;
Если ТипЗнч(СтрокаТзСписание.ТМЦ) = Тип("СправочникСсылка.КлассификаторТМЦ") Тогда
   ОбластьСтрока.Параметры.НаименованиеТМЦ = СтрокаТзСписание.ТМЦ.Наименование;
               Иначе   
лТМЦ = "" + ?(обПустоеЗначение(СтрокаТзСписание.ТМЦ.ПолноеНаименование),СтрокаТзСписание.ТМЦ.Наименование,СтрокаТзСписание.ТМЦ.ПолноеНаименование) + ?(обПустоеЗначение(СтрокаТзСписание.ХарактеристикаТМЦ),""," "+СтрокаТзСписание.ХарактеристикаТМЦ);
ОбластьСтрока.Параметры.НаименованиеТМЦ = лТМЦ;
         КонецЕсли;   
      ТабДок.Вывести(ОбластьСтрока);
      НомСтроки = НомСтроки + 1;
      КонецЦикла;
      
   ОбластьПодвал.Параметры.ДолжностьСотрудник1 = обПолучитьПериодическиеСведенияОСотруднике(Подпись1).Должность;
   ОбластьПодвал.Параметры.ФИОСотрудник1 = обФИО(Подпись1);
   ОбластьПодвал.Параметры.ДолжностьСотрудник2 = обПолучитьПериодическиеСведенияОСотруднике(Подпись2).Должность;
   ОбластьПодвал.Параметры.ФИОСотрудник2 = обФИО(Подпись2);
         ТабДок.Вывести(ОбластьПодвал);

На будущее. Обрамляйте код который выкладываете тегами (значок шарп на панели сообщения). Ваш код и так читать тяжело, а без выделения - вообще нереально. Посмотрите, как у меня выложен код, и у вас.
В общем, по идее, этот кусок кода должен выглядеть как то так:
ОбластьЗаголовок   = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапка       = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока      = Макет.ПолучитьОбласть("Строка");

Если ФлагПечать Тогда
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
КонецЕсли;

тзСписание = ЭтотОбъект.Списание.Выгрузить();
тзСписание.Свернуть("ВидНормы,ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
тзПоступление = ЭтотОбъект.Поступление.Выгрузить();
тзПоступление.Свернуть("ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
     
ТабДок = Новый ТабличныйДокумент;
ОбластьЗаголовок.Параметры.ДатаУтверждения = Формат(ДатаУтверждения,"ДЛФ=DD")+" г.";
ОбластьЗаголовок.Параметры.КоличествоПродукции = Количество;
ОбластьЗаголовок.Параметры.ЕдиницаПродукции = ЕдиницаИзмерения;
ОбластьЗаголовок.Параметры.НаименованиеПродукции = ЭтотОбъект.Владелец.ПолноеНаименование;
ОбластьЗаголовок.Параметры.ХарактеристикаТМЦ = ХарактеристикаТМЦ;
ТабДок.Вывести(ОбластьЗаголовок);

Если тзСписание.Количество() > 0 Тогда

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

Для Каждого СтрокаТзСписание Из тзСписание Цикл

ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Заполнить(СтрокаТзСписание);
ОбластьСтрока.Параметры.НомСтроки = НомСтроки;
 
Если ТипЗнч(СтрокаТзСписание.ТМЦ) = Тип("СправочникСсылка.КлассификаторТМЦ") Тогда
ОбластьСтрока.Параметры.НаименованиеТМЦ = СтрокаТзСписание.ТМЦ.Наименование;
Иначе   
лТМЦ = "" + ?(обПустоеЗначение(СтрокаТзСписание.ТМЦ.ПолноеНаименование),СтрокаТзСписание.ТМЦ.Наименование,СтрокаТзСписание.ТМЦ.ПолноеНаименование) + ?(обПустоеЗначение(СтрокаТзСписание.ХарактеристикаТМЦ),""," "+СтрокаТзСписание.ХарактеристикаТМЦ);
ОбластьСтрока.Параметры.НаименованиеТМЦ = лТМЦ;
КонецЕсли;

ТабДок.Вывести(ОбластьСтрока);
НомСтроки = НомСтроки + 1;

КонецЦикла;

ОбластьПодвал.Параметры.ДолжностьСотрудник1 = обПолучитьПериодическиеСведенияОСотруднике(Подпись1).Должность;
ОбластьПодвал.Параметры.ФИОСотрудник1 = обФИО(Подпись1);
ОбластьПодвал.Параметры.ДолжностьСотрудник2 = обПолучитьПериодическиеСведенияОСотруднике(Подпись2).Должность;
ОбластьПодвал.Параметры.ФИОСотрудник2 = обФИО(Подпись2);
ТабДок.Вывести(ОбластьПодвал);
КонецЕсли;

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
тзСписание.Свернуть("ВидНормы,ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
заменить на
тзСписание.Свернуть("ВидНормы,ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения,Примечание","Количество");

Оффлайн pixel

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-21
  • Сайт: 
  • Профессия: Бухгалтер
Извиняйте.на будущее буду знать
Добавлено: 22 Сен 2015, 11:27

тзСписание.Свернуть("ВидНормы,ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения","Количество");
заменить на
тзСписание.Свернуть("ВидНормы,ВидТМЦ,ТМЦ,ХарактеристикаТМЦ,ЕдиницаИзмерения,Примечание","Количество");


СПАСИБО Вам огромное!:)
Добавлено: 22 Сен 2015, 11:30

И Вам Спасибо, Kironten!
       

Оффлайн Kironten

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

Ах да. Свертка по добавленной колонке. Забыл дописать. Помнил, пока переделывал код, но в итоге забыл. Ну да ладно. Главное работает.

Оффлайн pixel

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-21
  • Сайт: 
  • Профессия: Бухгалтер
А можно я еще обнаглела и спросила:)?
Я решила закрепить шапку документа чтоб она печаталась на каждой странице.сделала так
Если тзСписание.Количество() > 0 Тогда

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

А как мне можно прервать ее повторение,когда будет обнаружена область подвал?потому что бывает что одна пподпись подвала попадает на след лист и над ней опять выводится эта шапка.


Теги:
 

УТ 11.В документе "Заявка на расходование денежных средств" нет кнопки "Печать"!

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

Ответов: 1
Просмотров: 3755
Последний ответ 29 Июн 2012, 18:37
от LexaK
Печать справки "Б"

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

Ответов: 0
Просмотров: 2241
Последний ответ 27 Апр 2016, 18:01
от wvlas
Как "поймать" нажатие на кнопку "Печать" в открываемом макете(табличный документ)?

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

Ответов: 3
Просмотров: 1166
Последний ответ 14 Фев 2017, 14:27
от ilyay
"Уникальность" строки таблиной части документа

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

Ответов: 3
Просмотров: 1932
Последний ответ 20 Авг 2014, 12:22
от has
Работа с табличной частью в документе. Или Работа с ШАПКОЙ документа

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

Ответов: 0
Просмотров: 3046
Последний ответ 30 Сен 2011, 20:01
от gorbach178500

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
36 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal