Имя: Пароль:
1C
 
Открытие карточки счета
0 Alex7771
 
11.04.25
09:20
Не подскажите :
1С Бухгалтерия 30, есть внешний отчет, не на компоновке, просто выводися что-то типа оборотов по 60 счету, обычный макет, строки - контрагент, оборот ДТ, оборот Кт.

Как сделать, чтобы по клику по сумме выводилась карточка счета стандартная по данному контрагенту ?
1 Волшебник
 
11.04.25
09:21
Это нужно запрограммировать событие обработки расшифровки. Пригласите программиста.
2 Волшебник
 
11.04.25
09:21
А ещё лучше снесите свой внешний отчёт и научите бухов пользоваться ОСВ по счету, оттуда карточка счёта открывается по клику
3 Alex7771
 
11.04.25
11:41
делал вот так, но больно громоздко получается :
может что-то из бсп есть ?


при выводе : ДанныеР = Новый Структура;
ДанныеР.Вставить("Контрагент", Выборка.Субконто1);
ДанныеР.Вставить("Договор", Выборка.Субконто2);
ДанныеР.Вставить("Организация", Организация);
ДанныеР.Вставить("Дата", НачДата);
ДанныеР.Вставить("Счет", Счет);

ОбластьДетальныхЗаписей.Параметры.ДР = ДанныеР;


и потом

ИмяОтчета = "КарточкаСчета";

//Заполняем реквизиты отчета и обязательные поля (могут отличаться в зависимости от отчета)
ПользовательскиеНастройкиКомпоновкиДанных = Новый ПользовательскиеНастройкиКомпоновкиДанных;
ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("Счет" , Расшифровка.Счет);
ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("НачалоПериода" , Расшифровка.Дата);
ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("КонецПериода" , Расшифровка.Дата);
ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("Организация" , Расшифровка.Организация);

//Заполняем дополнительные отборы (в примере только для субконто1 и субконто2)
НовыйОтбор = ПользовательскиеНастройкиКомпоновкиДанных.Элементы.Добавить(Тип("ОтборКомпоновкиДанных"));
НовыйОтбор.ИдентификаторПользовательскойНастройки = "Отбор";
ЗаполнитьЭлементОтбораКомпоновкиДанных(НовыйОтбор,Истина,ВидСравненияКомпоновкиДанных.Равно,"Субконто1", Расшифровка.Контрагент);
ЗаполнитьЭлементОтбораКомпоновкиДанных(НовыйОтбор,Истина,ВидСравненияКомпоновкиДанных.Равно,"Субконто2", Расшифровка.Договор);

//Обязателньо указываем ключ (Равным параметру "ИДРасшифровки",я указывал Имя отчета ) НастройкиРасшифровки
НастройкиРасшифровки = Новый Структура;
НастройкиРасшифровки.Вставить(ИмяОтчета, ПользовательскиеНастройкиКомпоновкиДанных);

УсловияОтбора = Новый Структура();
УсловияОтбора.Вставить("НастройкиРасшифровки", НастройкиРасшифровки);

//Дублируем настройки (у меня в файловой без этого не открывалось)
ОбщиеНастройки = Новый Структура();
ОбщиеНастройки.Вставить("Объект" , УсловияОтбора);
ОбщиеНастройки.Вставить("НастройкиРасшифровки", НастройкиРасшифровки);

//Помещаем во временное хранилище (Уид можно случайный)
АлресХранилища = ПоместитьВоВременноеХранилище(ОбщиеНастройки, Новый УникальныйИдентификатор);

//Обращаем внимания на заполнемые настройки, если вы укажете отбор = истина то затрется все выше указанные отборы ( поскольку показатели и группировки я не менял, то оставил их типоыми)
ЗаполнятьТиповыеНастройки = Новый Структура;
ЗаполнятьТиповыеНастройки.Вставить("Отбор" , Ложь);
ЗаполнятьТиповыеНастройки.Вставить("Группирова" , Истина);
ЗаполнятьТиповыеНастройки.Вставить("ВыводимыеДанные", Истина);
ЗаполнятьТиповыеНастройки.Вставить("Показатели" , Истина);

//Сами параметры для предачи на форму ("ИДРасшифровки" - в данном случаи ключ от структуры НастройкиРасшифровки , если "СформироватьПриОткрытии" будет равно Ложь то отчет откроется с ранее сохраненными настройками)
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("ВидРасшифровки" , 1);
ПараметрыОтчета.Вставить("АдресНастроек" , АлресХранилища);
ПараметрыОтчета.Вставить("СформироватьПриОткрытии", Истина);
ПараметрыОтчета.Вставить("ИДРасшифровки" , ИмяОтчета);
ПараметрыОтчета.Вставить("РежимРасшифровки" , Истина);
ПараметрыОтчета.Вставить("ЗаполняемыеНастройки" , ЗаполнятьТиповыеНастройки);

//Ну и открываем саму форму
ОткрытьФорму("Отчет." + ИмяОтчета + ".Форма.ФормаОтчета", ПараметрыОтчета,ЭтаФорма);

//ТабДокОбработкаРасшифровкиНаСервере();
КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьЭлементОтбораКомпоновкиДанных(ОтборНастройкиКомпоновкиДанных,Использование,ВидСрав,ИмяПоля,ЗначениеОтбора)

НовыйЭлемент = ОтборНастройкиКомпоновкиДанных.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = ЗначениеОтбора;

КонецПроцедуры
4 Волшебник
 
11.04.25
11:42
опечатка в имени переменной: АлресХранилища

Не соблюдается лесенка программного кода
5 Мультук
 
гуру
11.04.25
11:49
(0)

Из какого отчёта обычно открывается как расшифровка "Карточка счёта" ?
Ответ: из "ОборотноСальдоваяВедомостьПоСчету"

А можно ли пойти в форму отчёта  "ОборотноСальдоваяВедомостьПоСчету"
и посмотреть -- а как там это сделано ?
Ответ: можно

А еще была древняя статья на инфостарте,
Возможно, ваш код из неё и позаимствован, смотреть лень.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн