УПП 1.3. На печатную форму надо вывести табличные поля в два столбца. Как наименее трудно затратно это сделать? Поля одинаковые. Строчки всегда будет 4. Пробовала разные варианты, что-то не получается и уже запуталась. Первый столбец вывожу через Вывести. Второй(в первой строке, во втором столбце) пробовала через Присоединить, он выводит его во втором столбец но ниже, не в один уровень с первым столбцом.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
(5)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ТехнологическаяКартаСекция_1.Серия КАК Серия,
| ТехнологическаяКартаСекция_1.Цвет КАК Цвет,
| ТехнологическаяКартаСекция_1.Вес КАК Вес,
| ТехнологическаяКартаСекция_1.Анилокс КАК Анилокс
|ИЗ
| Справочник.ТехнологическаяКарта.Секция_1 КАК ТехнологическаяКартаСекция_1
|ГДЕ
| ТехнологическаяКартаСекция_1.Ссылка = &Ссылка";
Таб1 = Запрос.Выполнить().Выгрузить();
Запрос.Текст =
"ВЫБРАТЬ
| ТехнологическаяКартаСекция_2.Серия КАК Серия,
| ТехнологическаяКартаСекция_2.Цвет КАК Цвет,
| ТехнологическаяКартаСекция_2.Вес КАК Вес,
| ТехнологическаяКартаСекция_2.Анилокс КАК Анилокс
|ИЗ
| Справочник.ТехнологическаяКарта.Секция_2 КАК ТехнологическаяКартаСекция_2
|ГДЕ
| ТехнологическаяКартаСекция_2.Ссылка = &Ссылка";
Таб2 = Запрос.Выполнить().Выгрузить();
Для ИндексСтроки = 0 По Таб1.Количество() - 1 Цикл
ОбластьТаб1 = Макет.ПолучитьОбласть("Строка|Столбец1");
ОбластьТаб2 = Макет.ПолучитьОбласть("Строка|Столбец2");
ОбластьТаб1.Параметры.Заполнить(Таб1[ИндексСтроки]);
ТабДокумент.Вывести(ОбластьТаб1);
ОбластьТаб2.Параметры.Заполнить(Таб2[ИндексСтроки]);
ТабДокумент.Присоединить(ОбластьТаб2);
КонецЦикла;
Возврат ТабДокумент;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Понятно, что тут тяп ляп какой-то, но как выйти из этого не пойму.
ОбластьТаб1 = Макет.ПолучитьОбласть("Строка|Столбец1");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ТехнологическаяКартаСекция_1.Серия КАК Серия,
| ТехнологическаяКартаСекция_1.Цвет КАК Цвет,
| ТехнологическаяКартаСекция_1.Вес КАК Вес,
| ТехнологическаяКартаСекция_1.Анилокс КАК Анилокс
|ИЗ
| Справочник.ТехнологическаяКарта.Секция_1 КАК ТехнологическаяКартаСекция_1
|ГДЕ
| ТехнологическаяКартаСекция_1.Ссылка = &Ссылка";
Таб1 = Запрос.Выполнить().Выгрузить();
//
Для Каждого СтрокаТабличнойЧасти из Таб1 Цикл
ОбластьТаб1.Параметры.Заполнить(СтрокаТабличнойЧасти);
ТабДокумент.Вывести(ОбластьТаб1);
КонецЦикла;
ОбластьТаб2 = Макет.ПолучитьОбласть("Строка|Столбец2");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ТехнологическаяКартаСекция_2.Серия КАК Серия,
| ТехнологическаяКартаСекция_2.Цвет КАК Цвет,
| ТехнологическаяКартаСекция_2.Вес КАК Вес,
| ТехнологическаяКартаСекция_2.Анилокс КАК Анилокс
|ИЗ
| Справочник.ТехнологическаяКарта.Секция_2 КАК ТехнологическаяКартаСекция_2
|ГДЕ
| ТехнологическаяКартаСекция_2.Ссылка = &Ссылка";
Таб2 = Запрос.Выполнить().Выгрузить();
Для Каждого СтрокаТабличнойЧасти из Таб2 Цикл
ОбластьТаб2.Параметры.Заполнить(СтрокаТабличнойЧасти);
ТабДокумент.Вывести(ОбластьТаб2);
КонецЦикла;
Возврат ТабДокумент;
ПоказатьПонятно, что тут тяп ляп какой-то, но как выйти из этого не пойму.
(5)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ТехнологическаяКартаСекция_1.Серия КАК Серия,
| ТехнологическаяКартаСекция_1.Цвет КАК Цвет,
| ТехнологическаяКартаСекция_1.Вес КАК Вес,
| ТехнологическаяКартаСекция_1.Анилокс КАК Анилокс
|ИЗ
| Справочник.ТехнологическаяКарта.Секция_1 КАК ТехнологическаяКартаСекция_1
|ГДЕ
| ТехнологическаяКартаСекция_1.Ссылка = &Ссылка";
Таб1 = Запрос.Выполнить().Выгрузить();
Запрос.Текст =
"ВЫБРАТЬ
| ТехнологическаяКартаСекция_2.Серия КАК Серия,
| ТехнологическаяКартаСекция_2.Цвет КАК Цвет,
| ТехнологическаяКартаСекция_2.Вес КАК Вес,
| ТехнологическаяКартаСекция_2.Анилокс КАК Анилокс
|ИЗ
| Справочник.ТехнологическаяКарта.Секция_2 КАК ТехнологическаяКартаСекция_2
|ГДЕ
| ТехнологическаяКартаСекция_2.Ссылка = &Ссылка";
Таб2 = Запрос.Выполнить().Выгрузить();
Для ИндексСтроки = 0 По Таб1.Количество() - 1 Цикл
ОбластьТаб1 = Макет.ПолучитьОбласть("Строка|Столбец1");
ОбластьТаб2 = Макет.ПолучитьОбласть("Строка|Столбец2");
ОбластьТаб1.Параметры.Заполнить(Таб1[ИндексСтроки]);
ТабДокумент.Вывести(ОбластьТаб1);
ОбластьТаб2.Параметры.Заполнить(Таб2[ИндексСтроки]);
ТабДокумент.Присоединить(ОбластьТаб2);
КонецЦикла;
Возврат ТабДокумент;
Показать
(9) Задача сделать справочник с 8 таблицами одинакового формата 4х5.
Да устраивают, просто 8 таблиц ,а именно табличных полей громоздко выглядит)))
А можно как-то по умолчанию прописать, чтобы при открытии справочника уже было 4 строки пустые? А не добавлять в ручную каждую строку.
Да устраивают, просто 8 таблиц ,а именно табличных полей громоздко выглядит)))
А можно как-то по умолчанию прописать, чтобы при открытии справочника уже было 4 строки пустые? А не добавлять в ручную каждую строку.
(11)
На форме расположите ТЧ на 8-ми страницах - будет не громоздко.
(11)
можно. в "передОткрытием" пишите что-то вроде
Да устраивают, просто 8 таблиц ,а именно табличных полей громоздко выглядит)))
На форме расположите ТЧ на 8-ми страницах - будет не громоздко.
(11)
А можно как-то по умолчанию прописать, чтобы при открытии справочника уже было 4 строки пустые?
можно. в "передОткрытием" пишите что-то вроде
Для Сч = 1 ПО 4 Цикл
ТабличнаяЧасть1.Добавить();
ТабличнаяЧасть2.Добавить();
............
ТабличнаяЧастьN.Добавить();
КонецЦикла;
(12)
Вот в таком формате сделала, но он при каждом открытии добавляет строки. По коду логично, почему он так делает. Но понятное дело если мы просто зашли посмотреть справочник, добавлять ничего не надо. Теперь вопрос,как зафиксировать чтобы всегда было 4 строки и всё.
Для Ст = 1 по 4 Цикл
ЭлементыФормы.ТабличноеПоле1.ДобавитьСтроку();
ЭлементыФормы.ТабличноеПоле2.ДобавитьСтроку();
ЭлементыФормы.ТабличноеПоле3.ДобавитьСтроку();
КонецЦикла;
Вот в таком формате сделала, но он при каждом открытии добавляет строки. По коду логично, почему он так делает. Но понятное дело если мы просто зашли посмотреть справочник, добавлять ничего не надо. Теперь вопрос,как зафиксировать чтобы всегда было 4 строки и всё.
(1) я такую задачу решал через два табличных документа, присоединял первый ко второму
https://imgur.com/nZZCAFC
ТабДок1 = Новый ТабличныйДокумент();
ТабДок2 = Новый ТабличныйДокумент();
СтрокиРаботы = Макет.ПолучитьОбласть("Строки|Работы");
СтрокиМатериалы = Макет.ПолучитьОбласть("Строки|Материалы");
Для каждого СтрокаРабот Из СсылкаНаОбъект.Работы Цикл
СтрокиРаботы.Параметры.КодРаб = СтрокаРабот.Работа.Артикул;
СтрокиРаботы.Параметры.Работа = СтрокаРабот.Работа.Наименование;
СтрокиРаботы.Параметры.Стоимость = СтрокаРабот.СуммаВсего;
ТабДок1.Вывести(СтрокиРаботы);
КонецЦикла;
Для каждого СтрокаТовары из СсылкаНаОбъект.Товары цикл
СтрокиМатериалы.Параметры.Товар = СтрокаТовары.Номенклатура.Наименование;
СтрокиМатериалы.Параметры.Кол = СтрокаТовары.Количество;
СтрокиМатериалы.Параметры.Стоимость = СтрокаТовары.СуммаВсего;
ТабДок2.Вывести(СтрокиМатериалы);
КонецЦикла;
ТабДокумент.Присоединить(ТабДок1);
ТабДокумент.Присоединить(ТабДок2);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот