Имя: Пароль:
1C
 
ЗУП Создание расширения для печати документа
🠗 (Волшебник 11.06.2025 09:10)
0 DRYUIDka
 
10.06.25
14:11
Есть ли возможность создать расширение, в котором есть документ с нужными формами и макетами и, допустим, когда был выбран определённый сотрудник в табличной части на форме все его данные, опять же из этой табличной части, переходили в макет, который вызывается при печати? Пробовали разные методы, но так ничего и не вышло, ни с формы не печатался документ ни из модуля менеджера
1 Волшебник
 
10.06.25
14:12
Что пробовали?
2 DRYUIDka
 
10.06.25
14:30
На форме вытаскивали данные из табличной части и сохраняли в реквизит документа
Имя = Элементы.ПоказателиСотрудников.ТекущиеДанные.Сотрудник;
ФОТ = Элементы.ПоказателиСотрудников.ТекущиеДанные.ФОТ;
Объект.ИмяСотрудника = Имя; 
Объект.ФОТ = ФОТ;

Затем вызывали их в модуле менеджера но значения были пустые. Ещё был вариант с вызовом печатной формы на самой форме с табличной частью, но выдавалась ошибка, нельзя было получить таким образом макет
3 Prog_man
 
гуру
10.06.25
14:30
(0) т.е в табличной части несколько сотрудников при выделении определенного, хотите что то распечатать?
4 Волшебник
 
10.06.25
14:30
(2) Вы различаете тип "строка" и Ссылка?
5 DRYUIDka
 
10.06.25
14:30
Также пробовали в модуле менеджера написать все функции необходимые для печати и затем опять же передать значения текущей строки из формы но выдавались пустые значения
6 DRYUIDka
 
10.06.25
14:31
Да различаю
7 Волшебник
 
10.06.25
14:32
(6) А мне кажется, что не различаете
Имя = Элементы.ПоказателиСотрудников.ТекущиеДанные.Сотрудник;
...
Объект.ИмяСотрудника = Имя;


Не морочьте нам голову. Вы вообще не умеете программировать. Пригласите программиста.
8 Мультук
 
гуру
10.06.25
14:40
(2)

Варианты

1) Вы вообще не умеете программировать. Совсем.
2) Вы умеете программировать, но не на 1С
3) Вы начали программировать. Умеете "мама мыла раму"
Но печатной формы для текущего БСП ни одной не писали.
Даже не понимаете как работают печатные формы в текущем БСП
4) Всё то же самое как в пункте 3, но для внешних печатных форм
5) Вы всё умеете, всё можете, но печатную форму нужно сформировать по данным
"на форме", да еще для конкретной выделенной строки

>>Затем вызывали их в модуле менеджера
Покажите код, которым вы "звали" их в модуле менеджера

P.S.
Друиды не тащат. Зовите палов и локов.
Ах, да. Ханты тащят!
9 Prog_man
 
гуру
10.06.25
14:42
(0) создать команду на форме
текст примерно такой
&НаКлиенте
Процедура мПечать(Команда) 
    ТекДанные = Элементы.ТЧ.ТекущиеДанные;

    ТабДок = мПечатьНаСервере(ТекДанные.Сотрудник);
    ТабДок.Показать();
КонецПроцедуры


+ Функцию, которая возвращает ТабДок,
в модуле формы документа
10 Prog_man
 
гуру
10.06.25
14:42
+ "ТЧ" = твоя табличная часть
11 DRYUIDka
 
10.06.25
14:58
В табличной части все поля ссылки я подумала, что тогда в реквизит Имя сотрудника, который имеет тип строка сохранится значение по моему методу
12 DRYUIDka
 
10.06.25
15:00
Я новичок в этом деле до этого пять лет прогала на плюсах, решила перейти на 1с, расскажите как работает печать в расширении, потому что толковой инфы в сети мало
13 ptiz
 
10.06.25
15:11
(12) Печать (как правило) работает на основе данных, лежащих в СУБД, и не связана с формой.
14 Мультук
 
гуру
10.06.25
15:45
(12)

1) гуглим
google:
1С как работает печать БСП

2) Читаем как работает печать в БСП
https://infostart.ru/1c/articles/1382297/

К этому моменту вы должны уже написать свою печатную форму "Hello world"

3)
Передаём доп.параметры в механизм печати (не проверял, но вроде всё гуд)

https://ironskills.by/tpost/hplit0nbp1-1sbsp-pechat-kak-peredat-dopolnitelnie-p


Делаем всё это "куроча" основную форму и сам документ в тестовой базе

4) После того как всё получилось, сохраняем базу или CF
Обновляем тестовую базу
И начинаем ваять расширение

ИЛИ

По быстрому
Ваяем всё в стиле (9)
Тут уже гуглите чатгпт-ите самостоятельно
15 Волшебник
 
11.06.25
09:11
(12) врушка