Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 ноя 2024, 03:48

Переменная не определена

Автор mrflow, 25 фев 2012, 05:36

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

Dethmontt

Что вывести на печать??? У тебя не код а набор условий каких то не понятных...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

mrflow

Извиняюсь)

У меня программа формирует список дней в году и записывает это все в текстовый файл.
Надо список этиХ дней вывести на печать. Либо из текстового файла сформированного, либо как-то еще. В интернете по такому случаю информации вообще мало.

sergejK74

Простой пример для обработки с управляемой формой с выводом в табличный документ (расписывать лень).
&НаКлиенте
Процедура Печать(Команда)
Если Год = 0 Тогда
возврат;
КонецЕсли;
НачальнаяДата = Дата(Год,1,1);
ТабличныйДокумент =  ПечатьНаСервере(НачальнаяДата);
ТабличныйДокумент.Показать();
КонецПроцедуры

&НаСервере
Функция ПечатьНаСервере(НачДата)
ТабДок = Новый ТабличныйДокумент;
ЭтотОбъект=РеквизитФормыВЗначение("Объект");
    Макет = ЭтотОбъект.ПолучитьМакет("Макет");
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
  Пока Год(НачДата) = Год Цикл
ОбластьСтрока.Параметры.НачДата = НачДата;
ТабДок.Вывести(ОбластьСтрока);
НачДата = НачДата + 24*60*60;
КонецЦикла;
Возврат ТабДок;
КонецФункции


Надеюсь кто-нибудь из гуру его оптимизирует...
Кнопочка Спасибо - слева!

mrflow

{Обработка.Выгрузить.Форма.Форма.Форма(35)}: Ошибка при вызове метода контекста (ПолучитьМакет): Недопустимое значение параметра (параметр номер '1')
    Макет = ЭтотОбъект.ПолучитьМакет("Макет");
по причине:
Недопустимое значение параметра (параметр номер '1')

sergejK74

Скачай пример - работает? Макет у тебя создан?
Кнопочка Спасибо - слева!

mrflow

А где именно его создать? Сорри за тупой вопрос) я просто думал, он программно создается

sergejK74

Можно в самом объекте, можно в общих макетах. Смотря что та делаешь. Все-таки пример работает?
Кнопочка Спасибо - слева!

mrflow

Да, все работает!
Спасибо большое!

А как мне теперь в макет добавить свои столбцы? Я попробовал вставить новый столбец с именем <ДААА>, но программа говорит, что его нету.

mrflow

ААА все)) нужно было выставить Заполнение- параметр)

mrflow

Как сделать, чтобы новый месяц у меня заполнялся с первой строчки?




Функция ПечатьНаСервере(ВыбГод)
   
   ТабДок = Новый ТабличныйДокумент;
   ЭтотОбъект=РеквизитФормыВЗначение("Объект");
   Макет = ЭтотОбъект.ПолучитьМакет("Макет");
   ОбластьСтрока = Макет.ПолучитьОбласть("Строка");

   Для i = 1 По 12 Цикл
      Если i = 1 Тогда
         ОбластьСтрока.Параметры.Январь = "Январь"; ТабДок.Вывести(ОбластьСтрока);
         Для j = 1 По День(КонецМесяца(Дата(ВыбГод, i, 1))) Цикл
             ОбластьСтрока.Параметры.Январь = Дата(ВыбГод, i, j);
            ТабДок.Вывести(ОбластьСтрока);
         КонецЦикла;
      ИначеЕсли i = 2 Тогда
         Макет = ЭтотОбъект.ПолучитьМакет("Макет");
   ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
         ОбластьСтрока.Параметры.Февраль = "Февраль"; ТабДок.Вывести(ОбластьСтрока);
         Для j = 1 По День(КонецМесяца(Дата(ВыбГод, i, 1))) Цикл
             ОбластьСтрока.Параметры.Февраль = Дата(ВыбГод, i, j);
            ТабДок.Вывести(ОбластьСтрока,1);
         КонецЦикла;         
      КонецЕсли;   
      
   КонецЦикла;
   Возврат ТабДок;
   
КонецФункции

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск