Имя: Пароль:
1C
1С v8
Перевод выражения ДанныеПечати.Дата в дату (1С 8.3, УТ 11.1)
0 BBDragon
 
05.08.16
11:24
В зависимости от даты документа реализации необходимо печатать то один макет, то другой. Макеты находятся в обработке ПечатьОбщихФорм, пытаюсь использовать параметр ДанныеПечати.Дата для получения даты, но что-то все никак..

ДанныеПечати = ДанныеДляПечати.РезультатПоШапке.Выбрать();
Стр = Формат(ДанныеПечати.Дата, "ДФ=dd.MM.yy");
ДатаРеализации=Дата(2000+Число(Прав(Стр,2)), Число(Сред(Стр,4,2)), Число(Лев(Стр,2)));

При просмотре в отладчике Стр вообще непонятно что, а ДатаРеализации вообще не формируется, вылетает с ошибкой

{Обработка.ПечатьОбщихФорм.МодульМенеджера(2323)}: Преобразование значения к типу Число не может быть выполнено
    ДатаРеализации=Дата(2000+Число(Прав(Стр,2)), Число(Сред(Стр,4,2)), Число(Лев(Стр,2)));

Как же все-таки получить нормальную дату из параметра ДанныеПечати.Дата?
1 Lexey_
 
05.08.16
11:28
(0) "получить нормальную дату", а в ДанныеПечати.Дата какая дата?
2 BBDragon
 
05.08.16
11:34
(1) Значение "строка", но в отладчике она не отображается.
Может быть я просто не там ищу?
Главная цель - получить дату документа реализации и в зависимости от этого выбрать тот или иной макет УПД в обработке ПечатьОбщихФорм. Я пытаюсь сделать это внутри самой обработки ПечатьОбщихФорм, процедура ЗаполнитьТабличныйДокументУПД
3 Горогуля
 
05.08.16
11:35
ну найди ДанныеПечати и спроси у них, почему там какая-то ерунда, а не дата документа
4 Lexey_
 
05.08.16
11:37
(2) "Значение "строка", но в отладчике она не отображается", то есть ты из пустой строки хочешь дату собрать?
5 BBDragon
 
05.08.16
12:02
(4) Не ожидал,что она пустая будет. Думал может я что-то не то делаю..
Перебрал все параметры передаваемые в эту процедуру, дату нигде выдернуть не получается. Как же ее все-таки получить?
Она формируется в процедуре заполнения подвала УПД: Процедура ЗаполнитьРеквизитыПодвалаУПД(ОбластьПодвала, ДанныеПечати, СведенияОбОрганизации, СведенияОКонтрагенте).
Но мне-то необходимо заранее знать ее, чтобы выбрать правильный макет.
6 Горогуля
 
05.08.16
12:03
дату выдернуть не получается, но она формируется, да?
7 hhhh
 
05.08.16
12:06
(5) а точно есть волшебная строчка

ДанныеПечати.Следующий()  ?
8 BBDragon
 
05.08.16
12:16
(6) Да, в подвале УПД, процедура ЗаполнитьРеквизитыПодвалаУПД.

(7) Есть, чуть дальше)
9 hhhh
 
05.08.16
12:18
(8) так это Стр = Формат(ДанныеПечати.Дата, "ДФ=dd.MM.yy");

до или после ??
10 BBDragon
 
05.08.16
12:19
(9) Было до
11 BBDragon
 
05.08.16
14:03
У меня стоит следующая задача - как получить возможность выбора того или иного макета УПД при распечатке документа реализации, в зависимости от даты документа? В самом документе идет вызов процедуры СформироватьПечатнуюФормуУПД, а уже в конце нее идет вызов нужной мне процедуры ЗаполнитьТабличныйДокументУПД. Вот где-то там и нужно получить дату документа, весь вопрос - как?