|
Перевод выражения ДанныеПечати.Дата в дату (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
|
У меня стоит следующая задача - как получить возможность выбора того или иного макета УПД при распечатке документа реализации, в зависимости от даты документа? В самом документе идет вызов процедуры СформироватьПечатнуюФормуУПД, а уже в конце нее идет вызов нужной мне процедуры ЗаполнитьТабличныйДокументУПД. Вот где-то там и нужно получить дату документа, весь вопрос - как?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший