|   |   | 
| 
 | Документооборот 8 КОРП версия 2.1 Шаблон Ø (Волшебник 12.03.2025 17:14) | ☑ | ||
|---|---|---|---|---|
| 0
    
        Tasha_B_N naïve 24.02.25✎ 11:45 | 
        Добрый день! В Шаблоне внутреннего документа есть реквизит Должность, который ничего не выводит, а в реквизитах Подписал и Подготовил, реквизита Должности нет, как вывести Должность Ответственных лиц в шаблон Внутреннего документа?     | |||
| 1
    
        d4rkmesa 24.02.25✎ 11:57 | 
        (0) Без доработки не вывести, по идее, т.к. Подразделение и Должность хранятся в e1cib/list/РегистрСведений.СведенияОПользователяхДокументооборот . Если только в шаблоне, то нужно будет соответствующую автоподстановку добавить.     | |||
| 2
    
        Bigbro 24.02.25✎ 11:54 | 
        а зачем тебе должность ответственного лица в шаблоне документа?
 это же реквизит ответственного лица, его в любой момент получить можно, для чего избыточность? | |||
| 3
    
        Tasha_B_N naïve 24.02.25✎ 12:00 | 
        У меня Докладные записки, должно быть ФИО и должность. Там есть возможность написать Скрипт в настройках заполнения Файла Шаблона, но не очень представляю как они пишутся... Запрос к регистру Сведений Пользователей получается или как...     | |||
| 4
    
        maxab72 24.02.25✎ 12:10 | 
        (0) Добавляется скриптом (окно "Настройки заполнения файла", вторая закладка "Скрипты"):
 РезультатОбработки = ""; Сотрудник = Файл.ВладелецФайла.Подготовил; Если ЗначениеЗаполнено(Сотрудник) Тогда ДолжностьСтрока = Строка(РаботаСПользователями.ПолучитьДолжность(Сотрудник)); РезультатОбработки = СклонениеПредставленийОбъектов.ПросклонятьПредставление(ДолжностьСтрока, 2); КонецЕсли; Выводит должность подготовившего документ в родительном падеже. | |||
| 5
    
        Bigbro 24.02.25✎ 12:08 | 
        из регистра сведений СведенияОПользователяхДокументооборот - получить должность по пользователю и все.     | |||
| 6
    
        Tasha_B_N naïve 24.02.25✎ 12:49 | 
        Спасибо!     | |||
| 7
    
        Tasha_B_N naïve 24.02.25✎ 13:17 | 
        Получилось вывести должность Подготовившего документ. Мне еще нужно вывести участников рабочей группы, на закладке Рабочая группа участник, может быть папка подразделения с несколькими участниками или построчно люди. Это возможно тоже через Скрипты?     | |||
| 8
    
        maxab72 24.02.25✎ 13:44 | 
        (7) Одной строкой - легко. таблицей сложнее, видел решение, но не сохранил ссылку. Если найду - скину.     | |||
| 9
    
        Tasha_B_N naïve 24.02.25✎ 13:47 | 
        Хорошо, спасибо!     | |||
| 10
    
        maxab72 24.02.25✎ 14:09 | ||||
| 11
    
        Garykom гуру 24.02.25✎ 19:44 | 
        (8) таблицей тоже легко
 https://infostart.ru/1c/articles/259510/ если только заполнение нового вот с обновлением (перезаполнением уже отредактированного) проблемы | |||
| 12
    
        Tasha_B_N naïve 25.02.25✎ 09:01 | 
        Мне несколько значений в шаблон doc вывести, взяв из строк Рабочей группы:
 ФИО ФИО ФИО | |||
| 13
    
        Bigbro 25.02.25✎ 09:11 | 
        из регистра рабочие группы достаете пользователей и подразделения
 из регистра сведения о пользователях документооборот - пользователей подразделения. получаете свою табличку. | |||
| 14
    
        Tasha_B_N naïve 25.02.25✎ 14:56 | 
        Я бы хотела добавить скриптом (окно "Настройки заполнения файла", вторая закладка "Скрипты"):
 Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|	РабочиеГруппы.Участник
|ИЗ
|	РегистрСведений.РабочиеГруппы КАК РабочиеГруппы
|ГДЕ
|	РабочиеГруппы.Участник = &Участник";
Запрос.УстановитьПараметр("Участник", Файл.ВладелецФайла);
Результат = Запрос.Выполнить().Выбрать();
Результат.Следующий();
РезультатОбработки = Результат.РабочиеГруппы;Можно таким образом вывести несколько участников рабочий группы в шаблон? | |||
| 15
    
        Garykom гуру 25.02.25✎ 13:53 | 
        (14) Придется позвать программиста
 Который разбирается в ДО 2.1 | |||
| 16
    
        Волшебник 25.02.25✎ 14:58 | 
        (14) Бессмысленный программный код, да ещё с ошибкой. Нейронка писала?     | |||
| 17
    
        d4rkmesa 25.02.25✎ 15:07 | 
        (14) Так вы заполнили первым значением из выборки. Нужно либо обойти все, либо выгрузить массив различных значений из результата запроса и, к примеру, через СтрСоединить(...) сформировать строку нужного вида.     | |||
| 18
    
        Волшебник 25.02.25✎ 15:07 | 
        (17) нет там такого поля     | |||
| 19
    
        Bigbro 25.02.25✎ 15:58 | 
        (14) перебираете результат 1 запроса к рабочей группе документа/файла.
 пользователей в один массив подразделения в другой. делаем второй запрос к регистру сведения о пользователях документооборот, оттуда достаем пользователей, подразделение у которых в массиве подразделений которые мы только что получили. соединяем 2 массива, это и будет ваш результат. только если я правильно помню у вас там помимо пользователей и подразделений могут быть еще рабочие группы в строках. их тоже надо раскручивать тогда. | |||
| 20
    
        Tasha_B_N naïve 25.02.25✎ 16:01 | 
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
 // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РабочиеГруппы.Участник КАК Участник |ИЗ | РегистрСведений.РабочиеГруппы КАК РабочиеГруппы |ГДЕ | РабочиеГруппы.Участник = &Участник Запрос.УстановитьПараметр("Участник", Участник); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // Вставить обработку выборки ВыборкаДетальныеЗаписи КонецЦикла; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА | |||
| 21
    
        Tasha_B_N naïve 25.02.25✎ 16:16 | 
        Писал конструктор запроса 1с, брала из регистра сведений рабочие группы из таблицы измерение участник. 
 Отличие написания в конфигураторе и скриптах - Файл.ВладелецФайла... В конфигураторе обходишь циклом выборку из запроса, а как написать в Скрипт? | |||
| 22
    
        Волшебник 25.02.25✎ 16:22 | 
        (21) Конструктор лучше Вас пишет.     | |||
| 23
    
        Bigbro 25.02.25✎ 16:33 | 
        запросы в скрипте точно так же, различий нет.     | |||
| 24
    
        Tasha_B_N naïve 26.02.25✎ 16:54 | 
        РезультатОбработки =
 Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РабочиеГруппы.Участник КАК Участник |ИЗ | РегистрСведений.РабочиеГруппы КАК РабочиеГруппы |ГДЕ | РабочиеГруппы.Участник = &Участник"; Запрос.УстановитьПараметр("Участник", Файл.ВладелецФайла.Участник); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ВыборкаДетальныеЗаписи.Участник = Участник; КонецЦикла; Запрос в скрипт взяла из конструктора, только дописала в начале: "РезультатОбработки =" и изменила параметр на тот что используется в шаблоне файла: "Файл.ВладелецФайла.Участник" Что здесь не так? | |||
| 25
    
        Bigbro 26.02.25✎ 17:32 | 
        Файл.ВладелецФайла.Участник
 что у вас такое владелец файла? скорее всего какой то документ внутренний входящий исходящий есть ли у него реквизит участник? | |||
| 26
    
        Tasha_B_N naïve 12.03.25✎ 10:42 | 
        Реквизита Участник нет, в форме Документа табличная часть РабочаяГруппаТаблица и в ней Участник - РабочаяГруппаТаблицаУчастник. 
 Как до него достучаться, если он выбирается на форме и нигде в реквизитах не присутствует? | |||
| 27
    
        maxab72 12.03.25✎ 10:56 | 
        (26) Через измерение Объект регистра сведений РабочиеГруппы. Указываете в объекте ссылку на ваш текущий документ.     | |||
| 28
    
        Tasha_B_N naïve 12.03.25✎ 11:09 | 
        Запрос = Новый Запрос;
 Запрос.Текст = "ВЫБРАТЬ | РабочиеГруппы.Участник КАК Участник, | ВнутренниеДокументы.ВидДокумента КАК ВидДокумента, | ВнутренниеДокументы.Ответственный КАК Ответственный, | ВнутренниеДокументы.Подразделение КАК Подразделение, | ВнутренниеДокументы.Содержание КАК Содержание, | ВнутренниеДокументы.Создал КАК Создал, | ВнутренниеДокументы.Должность КАК Должность, | ВнутренниеДокументы.Ссылка КАК Ссылка |ИЗ | РегистрСведений.РабочиеГруппы КАК РабочиеГруппы | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы | ПО РабочиеГруппы.Объект = ВнутренниеДокументы.Ссылка"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Участник = ВыборкаДетальныеЗаписи.Участник; КонецЦикла; Запрос переписала, а какой параметр указать для Файл.ВладелецФайла...? | |||
| 29
    
        Волшебник 12.03.25✎ 11:10 | 
        (28) Вы выбрали все документы без отбора. Вы подвесили сервер и уволены.     | |||
| 30
    
        maxab72 12.03.25✎ 11:17 | 
        (28) Надо наоборот, к документу присоединять левым запросом рабочую группу. В документе указать отбор: ВнутренниеДокументы.Ссылка = &Ссылка и в параметрах УстановитьПараметр("Ссылка", Файл.ВладелецФайла).
 Тогда к меньшей выборке (1 запись) будете присоединять часть данных из РС (несколько штук). | |||
| 31
    
        Волшебник 12.03.25✎ 11:27 | 
        (30) Это правильно.     | |||
| 32
    
        maxab72 12.03.25✎ 11:32 | 
        (29)
 - Сервер не работает, потому что Вася его уронил... - Вася - крутой хакер? - Нет, Вася - дебил криворукий, он его на пол уронил... | |||
| 33
    
        Tasha_B_N naïve 12.03.25✎ 13:57 | 
        РезультатОбработки =
 Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РабочиеГруппы.Участник КАК Участник, | ВнутренниеДокументы.ВидДокумента КАК ВидДокумента, | ВнутренниеДокументы.Ответственный КАК Ответственный, | ВнутренниеДокументы.Подразделение КАК Подразделение, | ВнутренниеДокументы.Содержание КАК Содержание, | ВнутренниеДокументы.Создал КАК Создал, | ВнутренниеДокументы.Должность КАК Должность, | ВнутренниеДокументы.Ссылка КАК Ссылка |ИЗ | Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РабочиеГруппы КАК РабочиеГруппы | ПО ВнутренниеДокументы.Ссылка = РабочиеГруппы.Объект |ГДЕ | ВнутренниеДокументы.Ссылка = &Ссылка"; УстановитьПараметр("Ссылка", Файл.ВладелецФайла); Имелось ввиду так? | |||
| 34
    
        maxab72 12.03.25✎ 14:01 | 
        Лучше так:
 | ПО ВнутренниеДокументы.Ссылка = &Ссылка | И ВнутренниеДокументы.Ссылка = РабочиеГруппы.Объект иначе сперва выбираются все внутренние документы, соединяются а потом фильтруются, а так сперва фильтруются а потом выжимка соединяется. | |||
| 35
    
        Tasha_B_N naïve 12.03.25✎ 14:40 | 
        РезультатОбработки =
 Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РабочиеГруппы.Участник КАК Участник, | ВнутренниеДокументы.ВидДокумента КАК ВидДокумента, | ВнутренниеДокументы.Ответственный КАК Ответственный, | ВнутренниеДокументы.Подразделение КАК Подразделение, | ВнутренниеДокументы.Содержание КАК Содержание, | ВнутренниеДокументы.Создал КАК Создал, | ВнутренниеДокументы.Должность КАК Должность, | ВнутренниеДокументы.Ссылка КАК Ссылка |ИЗ | Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РабочиеГруппы КАК РабочиеГруппы | ПО ВнутренниеДокументы.Ссылка = РабочиеГруппы.Объект |ГДЕ | ВнутренниеДокументы.Ссылка = &Ссылка | И ВнутренниеДокументы.Ссылка = РабочиеГруппы.Объект"; Запрос.УстановитьПараметр("Ссылка",Файл.ВладелецФайла); Добавила в скрипт пишет скрипты настройки заполнения файла заданы некорректно... | |||
| 36
    
        Bigbro 12.03.25✎ 14:44 | 
        ну так в результат обработки же затолкала то что в результате перебора выборки из запроса получилось?     | |||
| 37
    
        Tasha_B_N naïve 12.03.25✎ 14:56 | 
        РезультатОбработки =
 Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РабочиеГруппы.Участник КАК Участник, | ВнутренниеДокументы.ВидДокумента КАК ВидДокумента, | ВнутренниеДокументы.Ответственный КАК Ответственный, | ВнутренниеДокументы.Подразделение КАК Подразделение, | ВнутренниеДокументы.Содержание КАК Содержание, | ВнутренниеДокументы.Создал КАК Создал, | ВнутренниеДокументы.Должность КАК Должность, | ВнутренниеДокументы.Ссылка КАК Ссылка |ИЗ | Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РабочиеГруппы КАК РабочиеГруппы | ПО ВнутренниеДокументы.Ссылка = РабочиеГруппы.Объект |ГДЕ | ВнутренниеДокументы.Ссылка = &Ссылка | И ВнутренниеДокументы.Ссылка = РабочиеГруппы.Объект"; УстановитьПараметр("Ссылка", Файл.ВладелецФайла); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Участник = ВыборкаДетальныеЗаписи.Участник; КонецЦикла; Все что в 1с с дописыванием "РезультатОбработки =" и "Файл.ВладелецФайла". | |||
| 38
    
        maxab72 12.03.25✎ 15:02 | 
        (35) Убери ГДЕ, все фильтры включи в ПО     | |||
| 39
    
        Bigbro 12.03.25✎ 15:09 | 
        РезультатОбработки="";
 и перед конецЦикла РезультатОбработки = РезультатОбработки + " " + Участник; получится строка участников через пробелы. | |||
| 40
    
        Tasha_B_N naïve 12.03.25✎ 15:16 | 
        РезультатОбработки="";
 Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РабочиеГруппы.Участник КАК Участник, | ВнутренниеДокументы.ВидДокумента КАК ВидДокумента, | ВнутренниеДокументы.Ответственный КАК Ответственный, | ВнутренниеДокументы.Подразделение КАК Подразделение, | ВнутренниеДокументы.Содержание КАК Содержание, | ВнутренниеДокументы.Создал КАК Создал, | ВнутренниеДокументы.Должность КАК Должность, | ВнутренниеДокументы.Ссылка КАК Ссылка |ИЗ | Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РабочиеГруппы КАК РабочиеГруппы | ПО ВнутренниеДокументы.Ссылка = РабочиеГруппы.Объект |ГДЕ | ВнутренниеДокументы.Ссылка = &Ссылка | И ВнутренниеДокументы.Ссылка = РабочиеГруппы.Объект"; УстановитьПараметр("Ссылка", Файл.ВладелецФайла); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Участник = ВыборкаДетальныеЗаписи.Участник; РезультатОбработки = РезультатОбработки + " " + Участник; КонецЦикла; Вроде бы все верно, но все равно скрипты настройки заполнения файла заданы некорректно... | |||
| 41
    
        maxab72 12.03.25✎ 15:19 | 
        (0) не просто УстановитьПараметр("Ссылка", Файл.ВладелецФайла); а Запрос.УстановитьПараметр("Ссылка", Файл.ВладелецФайла);
 и исправить текст запроса. | |||
| 42
    
        Tasha_B_N naïve 12.03.25✎ 15:56 | 
        Точно забыла написать Запрос, на это ругалось! 
 Спасибо ребят огромное, все заработало! | |||
| 43
    
        Волшебник 12.03.25✎ 16:28 | 
        (42) тупой бот     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |