Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Собственная обработка расшифровке в макете отчета
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Constantus
Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Имеется некий отчет, который выводит результат в макет отчета. В одной из ячеек отчета делаю расшифровку:

        Область.Параметры.Примечания = "Рейс № " + ВыборкаЭкс.Номер + " от " + ВыборкаЭкс.Дата; 
        Область.Параметры.расшифровка = Документы.Рейс.НайтиПоНомеру(ВыборкаЭкс.Номер);


Всё работает и при даблклике выходи нужный документ.

Но бывают случаи, когда в эту область должны попасть два документа, т.е. список значений
Примечание: Документ01; Документ02 (как пример)

имеется ли возможность на расшифровку посадить свой код обработки? Т.е., если там сидят перечень документов, то откроется форма списка документов с соответствующим отбором по перечисленным в ячейке документов...
Bernet
Constantus @ Сегодня, 14:47 необходимо зарегистрироваться для просмотра ссылки ,
ковыряйте в сторону события "ОбработкаРасшифровки" - там пишете логику расшифровки так как вам надо
Flexy
Constantus @ Сегодня, 13:47 необходимо зарегистрироваться для просмотра ссылки ,
Процедура ПолеТабличногоДокументаРезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    Сп = Новый СписокЗначений;
    Сп.Добавить(1);
    Сп.Добавить(2);
    Рез = Сп.ВыбратьЭлемент("Выберите документ");
    Если Не Рез = Неопределено Тогда
        ОткрытьЗначение(Рез);
    КонецЕсли;

КонецПроцедуры


Или так:
Процедура ПолеТабличногоДокументаРезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
Если ТипЗнч(Расшифровка) = Тип("СписокЗначений") Тогда
Если Расшифровка.Количество() > 1 Тогда
// документы в списке должны быть одного типа.
СтандартнаяОбработка = Ложь;
ФормаСп = Документы.РеализацияТоваровУслуг.ПолучитьФорму("ФормаСписка",,ЭтаФорма);
ФормаСп.Отбор.Ссылка.Использование = Истина;
ФормаСп.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ФормаСп.Отбор.Ссылка.Значение = Расшифровка;
ФормаСп.Открыть();
КонецЕсли;
КонецЕсли;
КонецПроцедуры


З.Ы. Не проверял.

Цитата(Constantus @ 05.07.17, 13:47) необходимо зарегистрироваться для просмотра ссылки
Область.Параметры.расшифровка = Документы.Рейс.НайтиПоНомеру(ВыборкаЭкс.Номер);

faceoff.gif
Почему не воткнуть сразу ссылку на документ (ВыборкаЭкс.Ссылка)???
Constantus
Flexy @ Сегодня, 18:11 необходимо зарегистрироваться для просмотра ссылки ,

Я так понимаю, что поле в отчете должно быть:
СодержитЗначения: Да
ТипЗначений: СписокЗначений

1. Но сначала нужно как-то добавить в эту ячейку список значений?
Как в это поле добавить список значений?

2.
Процедура ПолеТабличногоДокументаРезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)


"Расшифровка в параметрах процедуры - имя параметраРасшифровки ячейки в макете?
Constantus
А как открыть конкретный документ если в расшифровке (в списке значений) одно значение? Т.е. список значений состоит из ссылки на один документ и при даблклике открывать сразу документ?
sava1
Если ТипЗнч(Расшифровка) = тип("СписокЗначений") Тогда
    Если Расшифровка.Количество()=1 Тогда
         // открываем документ
    Иначе
        // выдаем список на выбор
Constantus
Цитата(sava1 @ 05.07.17, 21:33) необходимо зарегистрироваться для просмотра ссылки
// открываем документ



Как именно открыть документ из списка значений? Т.е. получить на него ссылку и по ссылке открыть?
sava1
Сформировать расшифровку как список документов (ссылок)
Flexy
Цитата(Constantus @ 06.07.17, 11:07) необходимо зарегистрироваться для просмотра ссылки
Как именно открыть документ из списка значений? Т.е. получить на него ссылку и по ссылке открыть?

Если Список.Количество() = 1 Тогда
ОткрытьЗначение(Список[0].Значение);
Иначе
// открыть форму списка документов  с отбором
КонецЕсли;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.