Возможно передвинуть текст/параметр в табличном документе на одну строку выше программно?
Добрый день.
Понимаю, что вопрос может показаться смешным и глупым. После долгих блужданий по интернету не смог найти ясного ответа.
На скрине каждый цвет- область, которая отличается по имени. Суть в том, что с красным цветом и коричневым в плане вывода проблем нет, но как мне вывести синюю область? Конечно проще всего взять всё это под одну область, но синяя область будет заполняться и выводиться через цикл, соответственно, если использовать одну область, всё будет дублироваться. Для синей области, я так же делал отдельную область (скрин 2), чтобы она выводилась строго по левому краю, но у меня получается пробел в 2-3 ячейки. Исходя из этого, я задаюсь вопросом, возможно ли программно поднять на эти 2-3 ячейки синюю область, чтобы избежать пробела? Я не удивлюсь тому, если упущу самое элементарное. Поэтому заранее прошу без критики и негатива, все мы люди)
Понимаю, что вопрос может показаться смешным и глупым. После долгих блужданий по интернету не смог найти ясного ответа.
На скрине каждый цвет- область, которая отличается по имени. Суть в том, что с красным цветом и коричневым в плане вывода проблем нет, но как мне вывести синюю область? Конечно проще всего взять всё это под одну область, но синяя область будет заполняться и выводиться через цикл, соответственно, если использовать одну область, всё будет дублироваться. Для синей области, я так же делал отдельную область (скрин 2), чтобы она выводилась строго по левому краю, но у меня получается пробел в 2-3 ячейки. Исходя из этого, я задаюсь вопросом, возможно ли программно поднять на эти 2-3 ячейки синюю область, чтобы избежать пробела? Я не удивлюсь тому, если упущу самое элементарное. Поэтому заранее прошу без критики и негатива, все мы люди)
Прикрепленные файлы:


По теме из базы знаний
Найденные решения
(3) Вот код:
Процедура Пуск() Экспорт
КраснаяОбласть = ПолучитьКраснуюОбласть();
КоричневаяОбласть = ПолучитьКоричневуюОбласть();
СиняяОбласть = ПолучитьСинююОбласть();
КоричневаяПлюсСиняя = Новый ТабличныйДокумент;
КоричневаяПлюсСиняя.Вывести(КоричневаяОбласть);
КоричневаяПлюсСиняя.Вывести(СиняяОбласть);
ИтоговыйТабДок = Новый ТабличныйДокумент;
ИтоговыйТабДок.Вывести(КраснаяОбласть);
ИтоговыйТабДок.Присоединить(КоричневаяПлюсСиняя);
ИтоговыйТабДок.Область(1,1).ШиринаКолонки = 26;
ИтоговыйТабДок.Область(1,2).ШиринаКолонки = 30;
ИтоговыйТабДок.Показать();
КонецПроцедуры
Функция ПолучитьКраснуюОбласть()
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1,1,1,1).Текст = "Первая строка Красной Области";
ТабДок.Область(2,1,2,1).Текст = "Вторая строка Красной Области";
ТабДок.Область(3,1,3,1).Текст = "Третья строка Красной Области";
ТабДок.Область(1,1,3,1).ЦветТекста = Новый Цвет(255, 0, 0); // красный
Область = ТабДок.ПолучитьОбласть(1,1,3,1);
Возврат Область;
КонецФункции
Функция ПолучитьКоричневуюОбласть()
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1,1,1,1).Текст = "Первая строка Коричневой Области";
ТабДок.Область(1,1,1,1).ЦветТекста = Новый Цвет(123, 63, 0); // коричневый
Область = ТабДок.ПолучитьОбласть(1,1,1,1);
Возврат Область;
КонецФункции
Функция ПолучитьСинююОбласть()
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1,1,1,1).Текст = "Первая строка Синей Области";
ТабДок.Область(2,1,2,1).Текст = "Вторая строка Синей Области";
ТабДок.Область(1,1,2,1).ЦветТекста = Новый Цвет(0, 0, 255); // синий
Область = ТабДок.ПолучитьОбласть(1,1,2,1);
Возврат Область;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Надо понимать, что методы Получитьобласть(), Вывести() и Присоединить() работают с объектами типа ТабличныйДокумент.
Отсюда следует, что Вам нужно использовать промежуточный объект ТабличныйДокумент,
где вы соберете Коричневую и Синюю область друг под другом.
Затем, в итоговом ТабДоке делаете вывод красной области и присоединяете справа промежуточный.
Отсюда следует, что Вам нужно использовать промежуточный объект ТабличныйДокумент,
где вы соберете Коричневую и Синюю область друг под другом.
Затем, в итоговом ТабДоке делаете вывод красной области и присоединяете справа промежуточный.
Прикрепленные файлы:

(3) Вот код:
Процедура Пуск() Экспорт
КраснаяОбласть = ПолучитьКраснуюОбласть();
КоричневаяОбласть = ПолучитьКоричневуюОбласть();
СиняяОбласть = ПолучитьСинююОбласть();
КоричневаяПлюсСиняя = Новый ТабличныйДокумент;
КоричневаяПлюсСиняя.Вывести(КоричневаяОбласть);
КоричневаяПлюсСиняя.Вывести(СиняяОбласть);
ИтоговыйТабДок = Новый ТабличныйДокумент;
ИтоговыйТабДок.Вывести(КраснаяОбласть);
ИтоговыйТабДок.Присоединить(КоричневаяПлюсСиняя);
ИтоговыйТабДок.Область(1,1).ШиринаКолонки = 26;
ИтоговыйТабДок.Область(1,2).ШиринаКолонки = 30;
ИтоговыйТабДок.Показать();
КонецПроцедуры
Функция ПолучитьКраснуюОбласть()
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1,1,1,1).Текст = "Первая строка Красной Области";
ТабДок.Область(2,1,2,1).Текст = "Вторая строка Красной Области";
ТабДок.Область(3,1,3,1).Текст = "Третья строка Красной Области";
ТабДок.Область(1,1,3,1).ЦветТекста = Новый Цвет(255, 0, 0); // красный
Область = ТабДок.ПолучитьОбласть(1,1,3,1);
Возврат Область;
КонецФункции
Функция ПолучитьКоричневуюОбласть()
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1,1,1,1).Текст = "Первая строка Коричневой Области";
ТабДок.Область(1,1,1,1).ЦветТекста = Новый Цвет(123, 63, 0); // коричневый
Область = ТабДок.ПолучитьОбласть(1,1,1,1);
Возврат Область;
КонецФункции
Функция ПолучитьСинююОбласть()
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1,1,1,1).Текст = "Первая строка Синей Области";
ТабДок.Область(2,1,2,1).Текст = "Вторая строка Синей Области";
ТабДок.Область(1,1,2,1).ЦветТекста = Новый Цвет(0, 0, 255); // синий
Область = ТабДок.ПолучитьОбласть(1,1,2,1);
Возврат Область;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот