Автозаполнение переменных в шаблонах OpenOffice в 1С Документооборот
Дата создания
|
1 |
{ВладелецФайла|ДатаСоздания} |
Автор документа
|
1 |
{Автор} |
Регистрационный номер
|
1 |
{ВладелецФайла|РегистрационныйНомер} |
Кем согласовано
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
РезультатОбработки = ""; Док = Файл.ВладелецФайла.Ссылка; Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ВизыСогласования.Исполнитель КАК Исполнитель, | ВизыСогласования.РезультатСогласования КАК РезультатСогласования, | ВизыСогласования.ДатаИсполнения КАК ДатаИсполнения, | СведенияОПользователяхДокументооборот.Должность КАК Должность, | ВизыСогласования.Комментарий КАК Комментарий, | СведенияОПользователяхДокументооборот.Подразделение КАК Подразделение |ИЗ | Справочник.ВизыСогласования КАК ВизыСогласования | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот | ПО (ВизыСогласования.Исполнитель = СведенияОПользователяхДокументооборот.Пользователь) |ГДЕ | НЕ ВизыСогласования.ПометкаУдаления | И НЕ ВизыСогласования.Удалена | И ВизыСогласования.Документ = &Документ | И ВизыСогласования.РезультатСогласования = &РезультатСогласования"; Запрос.УстановитьПараметр("Документ", Док); Запрос.УстановитьПараметр("РезультатСогласования", Перечисления.РезультатыСогласования.Согласовано); ТЗ=Запрос.Выполнить().Выгрузить(); Количество=ТЗ.Количество(); Если Количество > 0 Тогда РезультатОбработки = "СОГЛАСОВАНО: "; РезультатОбработки = РезультатОбработки; КонецЕсли; Для Каждого СтрокаТЗ Из ТЗ Цикл Если ЗначениеЗаполнено(СтрокаТЗ.Исполнитель) Тогда МенеджерРаботыСРегистром = РегистрыСведений.СведенияОПользователяхДокументооборот.СоздатьМенеджерЗаписи(); МенеджерРаботыСРегистром.Пользователь = СтрокаТЗ.Исполнитель; МенеджерРаботыСРегистром.Прочитать(); КонецЕсли; Если МенеджерРаботыСРегистром.Выбран() Тогда РезультатОбработки = РезультатОбработки + Символы.ВК + СтрокаТЗ.Должность + " " + СтрокаТЗ.Подразделение; РезультатОбработки = РезультатОбработки + " " + МенеджерРаботыСРегистром.Пользователь.ПредставлениеВДокументах + " " + Формат(СтрокаТЗ.ДатаИсполнения, "ДЛФ = 'D'") ; КонецЕсли; КонецЦикла; |
Кем согласовано с замечаниями
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
РезультатОбработки = ""; Док = Файл.ВладелецФайла.Ссылка; Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ВизыСогласования.Исполнитель КАК Исполнитель, | ВизыСогласования.РезультатСогласования КАК РезультатСогласования, | ВизыСогласования.ДатаИсполнения КАК ДатаИсполнения, | СведенияОПользователяхДокументооборот.Должность КАК Должность, | ВизыСогласования.Комментарий КАК Комментарий |ИЗ | Справочник.ВизыСогласования КАК ВизыСогласования | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот | ПО (ВизыСогласования.Исполнитель = СведенияОПользователяхДокументооборот.Пользователь) |ГДЕ | НЕ ВизыСогласования.ПометкаУдаления | И НЕ ВизыСогласования.Удалена | И ВизыСогласования.Документ = &Документ | И ВизыСогласования.РезультатСогласования = &РезультатСогласования"; Запрос.УстановитьПараметр("Документ", Док); Запрос.УстановитьПараметр("РезультатСогласования", Перечисления.РезультатыСогласования.СогласованоСЗамечаниями); ТЗ=Запрос.Выполнить().Выгрузить(); Количество=ТЗ.Количество(); Если Количество > 0 Тогда РезультатОбработки = "СОГЛАСОВАНО С ЗАМЕЧАНИЯМИ: "; РезультатОбработки = РезультатОбработки + Символы.ВК; КонецЕсли; Для Каждого СтрокаТЗ Из ТЗ Цикл Если ЗначениеЗаполнено(СтрокаТЗ.Исполнитель) Тогда МенеджерРаботыСРегистром = РегистрыСведений.СведенияОПользователяхДокументооборот.СоздатьМенеджерЗаписи(); МенеджерРаботыСРегистром.Пользователь = СтрокаТЗ.Исполнитель; МенеджерРаботыСРегистром.Прочитать(); КонецЕсли; Если МенеджерРаботыСРегистром.Выбран() Тогда РезультатОбработки = РезультатОбработки + " " + Формат(СтрокаТЗ.ДатаИсполнения, "ДЛФ=Д") + " " + МенеджерРаботыСРегистром.Пользователь.ПредставлениеВДокументах; РезультатОбработки = РезультатОбработки + " " + СтрокаТЗ.Должность; РезультатОбработки = РезультатОбработки + Символы.ВК; РезультатОбработки = РезультатОбработки + " " + СтрокаТЗ.Комментарий + " " + Символы.ВК; КонецЕсли; КонецЦикла; |
Кем не согласовано
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
РезультатОбработки = ""; Док = Файл.ВладелецФайла.Ссылка; Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ВизыСогласования.Исполнитель КАК Исполнитель, | ВизыСогласования.РезультатСогласования КАК РезультатСогласования, | ВизыСогласования.ДатаИсполнения КАК ДатаИсполнения, | СведенияОПользователяхДокументооборот.Должность КАК Должность, | ВизыСогласования.Комментарий КАК Комментарий |ИЗ | Справочник.ВизыСогласования КАК ВизыСогласования | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот | ПО (ВизыСогласования.Исполнитель = СведенияОПользователяхДокументооборот.Пользователь) |ГДЕ | НЕ ВизыСогласования.ПометкаУдаления | И НЕ ВизыСогласования.Удалена | И ВизыСогласования.Документ = &Документ | И ВизыСогласования.РезультатСогласования = &РезультатСогласования"; Запрос.УстановитьПараметр("Документ", Док); Запрос.УстановитьПараметр("РезультатСогласования", Перечисления.РезультатыСогласования.НеСогласовано); ТЗ=Запрос.Выполнить().Выгрузить(); Количество=ТЗ.Количество(); Если Количество > 0 Тогда РезультатОбработки = "НЕ СОГЛАСОВАНО: "; РезультатОбработки = РезультатОбработки + Символы.ВК; КонецЕсли; Для Каждого СтрокаТЗ Из ТЗ Цикл Если ЗначениеЗаполнено(СтрокаТЗ.Исполнитель) Тогда МенеджерРаботыСРегистром = РегистрыСведений.СведенияОПользователяхДокументооборот.СоздатьМенеджерЗаписи(); МенеджерРаботыСРегистром.Пользователь = СтрокаТЗ.Исполнитель; МенеджерРаботыСРегистром.Прочитать(); КонецЕсли; Если МенеджерРаботыСРегистром.Выбран() Тогда РезультатОбработки = РезультатОбработки + " " + Формат(СтрокаТЗ.ДатаИсполнения, "ДЛФ=Д") + " " + МенеджерРаботыСРегистром.Пользователь.ПредставлениеВДокументах; РезультатОбработки = РезультатОбработки + " " + СтрокаТЗ.Должность; РезультатОбработки = РезультатОбработки + Символы.ВК; КонецЕсли; КонецЦикла; |
Утверждение
|
1 |
{ВладелецФайла|ПодписанУтвержден} |
Дата регистрации
|
1 |
{ВладелецФайла|ДатаРегистрации} |
Телефон автора документа
|
1 |
{Автор|КонтактнаяИнформация|Телефон} |
Кто ознакомлен
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
РезультатОбработки = ""; Док = Файл.ВладелецФайла.Ссылка; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ЗадачаИсполнителя.Ссылка КАК Ссылка, | ЗадачаИсполнителя.БизнесПроцесс КАК БизнесПроцесс, | ЗадачаИсполнителя.Выполнена КАК Выполнена, | ЗадачаИсполнителя.ДатаИсполнения КАК ДатаИсполнения, | ЗадачаИсполнителяПредметы.Предмет КАК Предмет, | ЗадачаИсполнителя.Исполнитель.Представление КАК Исполнитель, | СведенияОПользователяхДокументооборот.Пользователь.ПредставлениеВДокументах КАК ПользовательПредставлениеВДокументах, | СведенияОПользователяхДокументооборот.Должность КАК Должность, | СведенияОПользователяхДокументооборот.Подразделение КАК Подразделение |ИЗ | Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Задача.ЗадачаИсполнителя.Предметы КАК ЗадачаИсполнителяПредметы | ПО (ЗадачаИсполнителя.Ссылка = ЗадачаИсполнителяПредметы.Ссылка) | И (ЗадачаИсполнителяПредметы.Предмет В (&СсылкаДокумента)), | РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот |ГДЕ | ЗадачаИсполнителя.ТочкаМаршрута = ЗНАЧЕНИЕ(БизнесПроцесс.Ознакомление.ТочкаМаршрута.Ознакомиться) | И НЕ ЗадачаИсполнителя.ПометкаУдаления | И ЗадачаИсполнителя.БизнесПроцесс.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Прерван) | И СведенияОПользователяхДокументооборот.Пользователь = ЗадачаИсполнителя.Исполнитель |ИТОГИ ПО | Предмет, | БизнесПроцесс"; Запрос.УстановитьПараметр("СсылкаДокумента", Док); ТЗ=Запрос.Выполнить().Выгрузить(); Количество=ТЗ.Количество(); Если Количество > 0 Тогда РезультатОбработки = "ОЗНАКОМЛЕНЫ: "; РезультатОбработки = РезультатОбработки; КонецЕсли; Для Каждого СтрокаТЗ Из ТЗ Цикл Если ЗначениеЗаполнено(СтрокаТЗ.Исполнитель) Тогда РезультатОбработки = РезультатОбработки + Символы.ВК + СтрокаТЗ.Должность + " " + СтрокаТЗ.Подразделение; РезультатОбработки = РезультатОбработки + " " + СтрокаТЗ.ПользовательПредставлениеВДокументах + " " + Формат(СтрокаТЗ.ДатаИсполнения, "ДЛФ = Д") ; КонецЕсли; КонецЦикла; |
Должность
|
1 2 3 4 5 6 7 8 9 |
// Считываем доп реквизит Должность Должность = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка,"Должность"); // Склоняем РезультатОбработки = ""; Если ЗначениеЗаполнено(Должность) Тогда РезультатОбработки = РезультатОбработки + СклонениеПредставленийОбъектов.ПросклонятьПредставление(Должность,2); КонецЕсли; |
Должность адресата
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
//Получаем должность адресата КонтактноеЛицо = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка,"Кому 1"); // Находим РезультатОбработки = ""; КоличествоЭлементов = 0; Если ЗначениеЗаполнено(КонтактноеЛицо) Тогда ЗапросПоСотрудникам = Новый Запрос; ЗапросПоСотрудникам.Текст = "ВЫБРАТЬ | СведенияОПользователяхДокументооборот.Пользователь КАК Пользователь, | СведенияОПользователяхДокументооборот.Подразделение КАК Подразделение, | СведенияОПользователяхДокументооборот.Должность КАК Должность | ИЗ | РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот | ГДЕ | СведенияОПользователяхДокументооборот.Пользователь = &Пользователь"; ЗапросПоСотрудникам.Параметры.Вставить("Пользователь", КонтактноеЛицо); Результат = ЗапросПоСотрудникам.Выполнить(); Если Не Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Выборка.Следующий(); ДолжностьКонтЛица = Выборка.Должность; Иначе ДолжностьКонтЛица = ""; КонецЕсли; // Склоняем Если ЗначениеЗаполнено(ДолжностьКонтЛица) Тогда РезультатОбработки = РезультатОбработки + СклонениеПредставленийОбъектов.ПросклонятьПредставление(ДолжностьКонтЛица,3,1);//ПросклонятьФИО(ДолжностьКонтЛица,3,1); КонецЕсли; КонецЕсли; |
Руководитель автора
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
//Получаем подразделение РУКОВОДИТЕЛЯ автора документа КонтактноеЛицо = Файл.ВладелецФайла.Подразделение.Руководитель; // Находим РезультатОбработки = ""; КоличествоЭлементов = 0; Если ЗначениеЗаполнено(КонтактноеЛицо) Тогда ЗапросПоСотрудникам = Новый Запрос; ЗапросПоСотрудникам.Текст = "ВЫБРАТЬ | СведенияОПользователяхДокументооборот.Пользователь КАК Пользователь, | СведенияОПользователяхДокументооборот.Подразделение КАК Подразделение, | СведенияОПользователяхДокументооборот.Должность КАК Должность | ИЗ | РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот | ГДЕ | СведенияОПользователяхДокументооборот.Пользователь = &Пользователь"; ЗапросПоСотрудникам.Параметры.Вставить("Пользователь", КонтактноеЛицо); Результат = ЗапросПоСотрудникам.Выполнить(); Если Не Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Выборка.Следующий(); Подразделение = Выборка.Подразделение; Иначе Подразделение = ""; КонецЕсли; РезультатОбработки = РезультатОбработки + Подразделение; КонецЕсли; |
Резолюция
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
РезультатОбработки = ""; Док = Файл.ВладелецФайла.Ссылка; Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | СведенияОПользователяхДокументооборот.Должность КАК Должность, | СведенияОПользователяхДокументооборот.Подразделение КАК Подразделение, | Резолюции.АвторРезолюции КАК АвторРезолюции, | Резолюции.ТекстРезолюции КАК ТекстРезолюции, | Резолюции.ДатаРезолюции КАК ДатаРезолюции |ИЗ | Справочник.Резолюции КАК Резолюции | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот | ПО (Резолюции.АвторРезолюции = СведенияОПользователяхДокументооборот.Пользователь) |ГДЕ | Резолюции.Документ = &Документ"; Запрос.УстановитьПараметр("Документ", Док); ТЗ=Запрос.Выполнить().Выгрузить(); Количество=ТЗ.Количество(); Если Количество > 0 Тогда РезультатОбработки = "Резолюция: "; КонецЕсли; Для Каждого СтрокаТЗ Из ТЗ Цикл Если ЗначениеЗаполнено(СтрокаТЗ.АвторРезолюции) Тогда МенеджерРаботыСРегистром = РегистрыСведений.СведенияОПользователяхДокументооборот.СоздатьМенеджерЗаписи(); МенеджерРаботыСРегистром.Пользователь = СтрокаТЗ.АвторРезолюции; МенеджерРаботыСРегистром.Прочитать(); КонецЕсли; Если МенеджерРаботыСРегистром.Выбран() Тогда РезультатОбработки = РезультатОбработки + Символы.ВК + СтрокаТЗ.Должность + " " + СтрокаТЗ.Подразделение; РезультатОбработки = РезультатОбработки + " " + МенеджерРаботыСРегистром.Пользователь.ПредставлениеВДокументах + " " + Формат(СтрокаТЗ.ДатаРезолюции, "ДЛФ = Д"); РезультатОбработки = РезультатОбработки + " Текст резолюции: " + СтрокаТЗ.ТекстРезолюции; КонецЕсли; КонецЦикла; |
ФИО в Вин падеже
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
//Получаем И.О. Фамилия адресата КонтактноеЛицо = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка,"Кому 1"); // Находим краткую запись РезультатОбработки = ""; КоличествоЭлементов = 0; Если ЗначениеЗаполнено(КонтактноеЛицо) Тогда Если Строка(КонтактноеЛицо) = "Руководителям подразделений" Тогда РезультатОбработки = РезультатОбработки + Строка(КонтактноеЛицо); Иначе ЗапросПоСотрудникам = Новый Запрос; ЗапросПоСотрудникам.Текст = " ВЫБРАТЬ | Пользователи.Наименование КАК Наименование, | Пользователи.ПредставлениеВДокументах КАК ВДокументах |ИЗ | Справочник.Пользователи КАК Пользователи |ГДЕ | Пользователи.Ссылка = &Пользователь"; ЗапросПоСотрудникам.Параметры.Вставить("Пользователь", КонтактноеЛицо); Результат = ЗапросПоСотрудникам.Выполнить(); Если Не Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Выборка.Следующий(); ФИОКонтЛица = Выборка.ВДокументах; Иначе ФИОКонтЛица = ""; КонецЕсли; // Склоняем Если ЗначениеЗаполнено(ФИОКонтЛица) Тогда РезультатОбработки = РезультатОбработки + СклонениеПредставленийОбъектов.ПросклонятьПредставление(ФИОКонтЛица,3); КонецЕсли; КонецЕсли; КонецЕсли; |




Комментарии закрыты