Имя: Пароль:
1C
1С v8
как в макете разделить слово на буквы которые будут вписываться по одной букве в клетку
0 Niki13
 
01.12.22
13:17
не понимаю как это сделать
1 Aleksey
 
01.12.22
13:21
сред()?
2 PLUT
 
01.12.22
13:23
(0)слово нужно положить в массив

а ячейки макета пронумеровать, начиная с нуля

например Б0, Б1,

ну и в цЫкле по размеру массива букф

по имени ячейки "Б" + индекс поместить букву из текущего элемента массива

как-то так как вариант
3 AneJIbcuH
 
01.12.22
13:24
в каждой клетке свой параметр.  СтрДлина() и Сред() вам помогут разбить слово на буквы
4 PLUT
 
01.12.22
13:25
(2) > а ячейки макета пронумеровать

задать имена ячейкам, чтобы с областями  через координаты ХY не ипаться
5 PLUT
 
01.12.22
13:30
> слово нужно положить в массив

в цЫкле с помощью магического заклинаний из (1) и (3)

СтрДлина() для итератора цЫкла

Сред() для складывания в массив букф
6 Обработка
 
01.12.22
13:34
Заираешь крайнюю левую букву и запоминаешь в массив. А остальное по лине отсекай и по кругу то есть в цыкле.
7 Aleksey
 
01.12.22
13:37
А массив ли?
ИМХ не лучше Структуру чтобы через потом ЗаполнитьЗначенияСвойств(Область.Параметры, СтруктураЗначений);
8 Kassern
 
01.12.22
13:38
(0) Каждая буква это параметр который занимает свою ячейку ТабДока. А дальше как обычно, заполняете параметры буквами и будет вам слово.
9 Kassern
 
01.12.22
13:39
(8) +Только предварительно лучше сетку сделать нужного размера, чтобы ячейки были нужной формы. Либо вообще сделать мелкой сетку и собирать нужные области объединением.
10 PLUT
 
01.12.22
13:48
(7) это как ТС решит

можно через параметры области, можно текст ячейке присвоить...
11 mikecool
 
01.12.22
14:09
(9) зачем сетку? память о 7.7? )) область может иметь уникальную настройку ячеек
12 Kassern
 
01.12.22
14:10
(11) Удобно создавать области нужного размера
13 mikecool
 
01.12.22
14:15
(12) а я растягиваю те. что есть до нужного размера... )
14 Fedor-1971
 
01.12.22
14:38
(11) ТС не задал параметров: сколько будет символов.
А в общем и целом:
1. Делаем область в одну ячейку с оформлением, дабы не погнуть остальную таблицу по ширине колонок, задаём оной параметр
2. Откусываем первый символ из строки заполняем параметр и Выводим область
3. Кусаем остальные символы заполняем параметр и Присоединяем область

Получится большущая строка, что не всегда удобно
И да, не забываем добавить пустую ячейку для разделения слов, если в строке такое не предусмотрено
15 PR
 
01.12.22
14:44
(0) А в чем сложность-то?
16 mikecool
 
01.12.22
14:49
(15) как обычно - сделать
17 PLUT
 
01.12.22
15:08
(14) на своей практике встречал такое один раз, когда формы заявлений для УФМС для мигрантов рисовал

так вот, там бланки определенного вида, клеточки "прибиты гвоздями". там проще или именованные ячейки или параметры в ячейках

сами бланки из Гаранта вроде бы тырил (сохранял в эксель и конвертировал в макет 1С)
18 PLUT
 
01.12.22
15:13
(14) > Получится большущая строка, что не всегда удобно

+ (17) а некоторые клеточки в несколько строк (адрес регистрации например)

причем клеточки по бланкам разные (количество клеточек, количество строк клеточек в пределах логической "области")

если делать через присоединение областей - тады в коде придется вышивать крестиком
19 RomaH
 
naïve
02.12.22
07:17
Длина = СтрДлина(ТекстДляПечати);
    
    Для к = 0 по Длина - 1 Цикл
        ТекОбласть = Макет.Область(Область.верх,Область.Лево + 2*к,Область.низ,Область.Лево + 2*к);    
        ТекОбласть.Текст = Сред(ТекстДляПечати,к + 1,1);
    КонецЦикла;

в макете просто именованная область ячеек
20 Kassern
 
02.12.22
09:01
(17) О да, по молодости я тоже эти формы делал и флешбеки этой темы как раз от них)