|
Подставить свой текст в шаблон при определенном значении ДопРеквизита (Документооборот) | ☑ | ||
---|---|---|---|---|
0
ГлызинаЮИ
12.01.21
✎
05:19
|
Уважаемые, помогите девушке, пожалуйста. Я ни разу не программист, то что вы сейчас увидите, это отрывки из разных форумов, естественно это не работает
РезультатОбработки = ""; Полномочие = ВладелецФайла.Ссылка.ДопРеквизиты.НайтиПоНаименованию("Полномочия, права") Если Полномочие = "Лизинг" Тогда РезультатОбработки = "длинющий текст"; КонецЕсли; Короче, есть доп.реквизит у внутреннего документа - "Полномочия, права". В таком доп.реквизите есть одно из значений - "Лизинг" Мне нужно в шаблон вордовский вместо слова лизинг подставить некий текст, для удобства я его пока обозначила как "длинющий текст" |
|||
1
Filin
12.01.21
✎
08:25
|
Как-то так -
ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Полномочия, права"); ЗначениеДопРеквизита = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Лизинг",,ДопРеквизит); Если ЗначениеЗаполнено(ДопРеквизит) Тогда СтрокаДопРеквизита = ВладелецФайла.Ссылка.ДополнительныеРеквизиты.Найти(ДопРеквизит); Если НЕ СтрокаДопРеквизита = Неопределено Тогда Если СтрокаДопРеквизита.Значение = ЗначениеДопРеквизита Тогда РезультатОбработки = "длинющий текст"; КонецЕсли; КонецЕсли; КонецЕсли; |
|||
2
ГлызинаЮИ
12.01.21
✎
09:00
|
(1) к сожалению, не работает. При проверке заполнения (доп.реквизит указан как раз как лизинг), выдает не содержательную ошибку что скрип настроен некорректно.
ps в начале вашего кода я добавила РезультатОбработки = ""; и еще меня смутила вторая запятая в ЗначениеДОпРеквизита, но что с двумя, что с одной заполнения не происходит |
|||
3
Filin
12.01.21
✎
09:23
|
Тогда нужно все-таки звать программиста.
|
|||
4
Йохохо
12.01.21
✎
09:28
|
"Мне нужно в шаблон вордовский вместо слова лизинг подставить некий текст" Вам нужно как то акцентировать на этом внимание. что эта конструкция выполняется через Выполнить() в работе с шаблонами договоров ДО, там не всё доступно
|
|||
5
hhhh
12.01.21
✎
09:51
|
(2) попробуйте
ЗначениеДопРеквизита = "Лизинг"; |
|||
6
Масянька
12.01.21
✎
09:54
|
(0) У Вас есть шаблоны внутренних документов?
|
|||
7
ГлызинаЮИ
12.01.21
✎
10:24
|
(6) Вы имеете в виду не подставлять текст, а использовать просто нужный шаблон? У нас порядка 10 видов полномочий, где тогда научить ДО что если выбран тип Лизинг, то заполнять вот этот шаблон, а не другой?
|
|||
8
ГлызинаЮИ
12.01.21
✎
10:25
|
(5) неа(
|
|||
9
Масянька
12.01.21
✎
10:56
|
(7) (8) У нас в ДО для каждого документа свой шаблон. Есть док-ты, у которых несколько шаблонов, но это другая история.
Заполнение шаблонов (у нас) происходит при сохранении док-та. А правила заполнения шаблонов прописаны именно в шаблонах (поля файлов = скрипты). |
|||
10
ГлызинаЮИ
12.01.21
✎
11:02
|
(9) я вас поняла. Что мы имеем - это вид одного внутреннего документа - Доверенность. В зависимости от выбранных полномочий доверенного, которые описаны в доп.реквизите типа как "УПД/ Лизинг/ ГИДББ" необходимо подставлять простыню юридического текста в шаблон. Правило я и описываю (прошу помощи) в скриптах заполнения шаблона
|
|||
11
Масянька
12.01.21
✎
11:03
|
(10) Текст скрипта покажите.
|
|||
12
ГлызинаЮИ
12.01.21
✎
11:10
|
(11) 1 комментарий от Филина
|
|||
13
Масянька
12.01.21
✎
11:11
|
(12) Исходный. Текст.
|
|||
14
ГлызинаЮИ
12.01.21
✎
11:52
|
(1) Вот так поправили и работает
РезультатОбработки = ""; ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Полномочия, права"); ЗначениеДопРеквизита = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Лизинг",,,ДопРеквизит); Если ЗначениеЗаполнено(ДопРеквизит) Тогда СтрокаДопРеквизита = Файл.ВладелецФайла.ДополнительныеРеквизиты.Найти(ДопРеквизит); Если НЕ СтрокаДопРеквизита = Неопределено Тогда Если СтрокаДопРеквизита.Значение = ЗначениеДопРеквизита Тогда РезультатОбработки = "длинющий текст"; КонецЕсли; КонецЕсли; КонецЕсли; Но я поняла что я не очень верно задачу озвучила, мне нужно в зависимости от того какое значение заполнено в ДопРеквизите подставлять разные тексты типа для лизинга - "длинющий текст" а для УПД - "текст покороче" |
|||
15
Filin
12.01.21
✎
12:01
|
Да, что-то я с запятыми накосячил. Там же владелец.
Вот вариант про все - РезультатОбработки = ""; ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Полномочия, права"); ЗначениеДопРеквизитаЛизинг = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Лизинг",,,ДопРеквизит); ЗначениеДопРеквизитаУПД = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("УПД",,,ДопРеквизит); ЗначениеДопРеквизитаГИБДД = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("ГИДББ",,,ДопРеквизит); Если ЗначениеЗаполнено(ДопРеквизит) Тогда СтрокаДопРеквизита = Файл.ВладелецФайла.ДополнительныеРеквизиты.Найти(ДопРеквизит); Если НЕ СтрокаДопРеквизита = Неопределено Тогда Если СтрокаДопРеквизита.Значение = ЗначениеДопРеквизитаЛизинг Тогда РезультатОбработки = "длинющий текст про лизинг"; ИначеЕсли СтрокаДопРеквизита.Значение = ЗначениеДопРеквизитаУПД Тогда РезультатОбработки = "длинющий текст про УПД"; ИначеЕсли СтрокаДопРеквизита.Значение = ЗначениеДопРеквизитаГИБДД Тогда РезультатОбработки = "длинющий текст про ГИБДД"; Иначе РезультатОбработки = "длинющий текст про то что мы не знаем про что писать"; КонецЕсли; КонецЕсли; КонецЕсли; |
|||
16
ГлызинаЮИ
13.01.21
✎
03:30
|
(15) Боже, храни умных людей и вас, господин Филин) Все работает!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |