Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
04 июн 2024, 16:10

Как поместить в одну ячейку сразу два параметра?

Автор Ivan3233567, 28 янв 2014, 13:24

0 Пользователей и 1 гость просматривают эту тему.

Ivan3233567

Я создал внешнюю обработку с нужным мне макетом, но столкнулся с проблемой, что Данные Склада у обоих документов отличаются. Во время обработки я выбираю оба эти документа и мне нужно чтобы с обоих этих документов мне печатало Склад.
Добавлять новую колонку нельзя, менять в документе Данные Склада тоже нельзя.
Я пока еще плохо разбираюсь в 1с, поэтому прошу показать рабочий код на такой случай и желательно с объяснением куда его поместить.

MuI_I_Ika

При выборе смотрите на тип документа и в зависимости от этого берите нужный реквизит.

KrivosheevEV

Строка.Параметры["Склады"] = Склад.Наименование + ", " + Склад.Наименование;


MuI_I_Ika

Если ЭтотОбъект.Метаданные().Имя = "ПоступлениеТоваровИУслуг" Тода
    Строка.Параметры["Склады"] = СкладОрдер.Наименование + ", " + СкладОрдер.Наименование;
Иначе
    Строка.Параметры["Склады"] = Склад.Наименование + ", " + Склад.Наименование;
КонецЕсли;

MuI_I_Ika

Процедура ПечатьРеестра(МассивДокументов,ИндикаторОбработки = Неопределено) Экспорт

Макет = ПолучитьМакет("РеестрДокументов");
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("Заголовок"));
ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("ШапкаТаблицы"));

индекс = 1;
Для каждого Ссылка Из МассивДокументов Цикл

Область = Макет.ПолучитьОбласть("Строка");
Область.Параметры.Заполнить(Ссылка);
Область.Параметры.ВидДокумента = Ссылка.Метаданные().Синоним;
Область.Параметры.НомерСтроки = индекс;
   
индекс = индекс + 1;
//Область.Параметры.ДокРасшифровка = Ссылка;

                Если Ссылка.Метаданные().Имя = "ПоступлениеТоваровУслуг" Тогда
                Область.Параметры["Склады"] = Ссылка.СкладОрдер.Наименование + ", " + Ссылка.СкладОрдер.Наименование;
        Иначе
              Область.Параметры["Склады"] = Ссылка.Склад.Наименование + ", " + Ссылка.Склад.Наименование;
        КонецЕсли;

ТабличныйДокумент.Вывести(Область);

Сообщить(Ссылка);

Если Не ИндикаторОбработки = Неопределено Тогда
ИндикаторОбработки = ИндикаторОбработки + 1;
КонецЕсли;

КонецЦикла;



ТабличныйДокумент.ПолеСверху = 0;
ТабличныйДокумент.ПолеСлева  = 0;
ТабличныйДокумент.ПолеСнизу  = 0;
ТабличныйДокумент.ПолеСправа = 0;
ТабличныйДокумент.Автомасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

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

Ivan3233567


MuI_I_Ika


Ivan3233567

Цитата: MuI_I_Ika от 30 янв 2014, 14:07
Ivan3233567, Наименование чего?
Все я сам разобрался, спасибо огромное!!
Но появляется ошибка что поле "Склад" не обнаружено, если в обработку добавить документ без поля склад.
Как доработать это условие, чтобы он игнорировал отсутствие поля "Склад" и просто не писал там ничего?

Ivan3333567


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск