Имя: Пароль:
1C
1С v8
Визуальная длина строки
, ,
0 grigo
 
20.08.12
14:19
Есть массив артикулов с длиной от 4 до 13 символов. Нужно их добить пробелами так, чтобы визуальная длина артикулов вместе с пробелами была одинакова. Т. е вопрос в том, сколько пробелов добивать к каждому артикулу? Или как определить визуальную длину строки?
1 pessok
 
20.08.12
14:20
мсье знает толк в извращениях...
2 Cube
 
20.08.12
14:21
(0) Зачем?
3 Liova
 
20.08.12
14:21
Моноширинный шрифт не предлагать?
4 pessok
 
20.08.12
14:21
ну а если по делу. получаешь максимальную длину. для каждого элемента массива получаешь его длину и ставишь недостающее до максимального количество пробелов перед артикулом
5 Cube
 
20.08.12
14:22
(4) Без (3) не взлетит :)
6 Aprobator
 
20.08.12
14:22
(3) пробелы после этого виднее станут?
7 Reset
 
20.08.12
14:23
(4) WWW и ttt имеют разную "визульную" ширину, внезапно

Думаю вернее всего (3)
8 Cube
 
20.08.12
14:23
(6) Эх ты...
9 Reset
 
20.08.12
14:23
Хотя, как правило, сначала (2)
10 Aprobator
 
20.08.12
14:24
а вообще - какая визуальная длина у артикулов в массиве?
11 pessok
 
20.08.12
14:25
вообще реально (2)
12 grigo
 
20.08.12
14:25
(1)(9)(2)(11)  это заказчик знает толк в извращениях, ему вдруг понадобилось, чтобы артикул был везде - в т.ч. документов, в отчетах, в СИСТЕМНОМ окне подбора и т.д. (3) Поэтому моноширинный шрифт не подходит. (4)если ставить недостающее число пробелов, то визуальная длина артикулов не будет одинаковой, т.к. пробел - почти самый короткий символ.
13 pessok
 
20.08.12
14:26
(12) ну да, (4) без (3) не взлетит, это понятно. Заказчика в газенваген пригласи прогуляться
14 Liova
 
20.08.12
14:27
Всё равно если шрифт не моноширинный, одной ширины не получится, только плюс минус примерно полсимвола.
15 grigo
 
20.08.12
14:27
(14) плюс минус подойдет, только как это сделать?
16 Cube
 
20.08.12
14:29
(12) На (2) ответь.
17 DrShad
 
20.08.12
14:30
(15) ну в принципе можно, но очень сильно поизвращавшись
18 Liova
 
20.08.12
14:30
Так ищи по формам "Артикул" и ставь там шрифт моноширинный.
19 grigo
 
20.08.12
14:30
(16) см (14)
20 Reset
 
20.08.12
14:30
(12) Из этого не понятно, зачем там пробелы
21 Aprobator
 
20.08.12
14:31
я так и не понял с этим визуальным безобразием. Выравнивание по правой стороне что ли сделать надо?
22 Reset
 
20.08.12
14:33
(12) Более того, невозможно логически: в разных местах может использоваться разный шрифт с разным соотношением ширины букв, т.е. подонать под всё сразу не получится
23 Arxangel06
 
20.08.12
14:37
А не проще пройти по справочнику так:
Артикул = "           " + Артикул;//добиваем длину строки до 13+ символов
Артикул = Прав(Артикул,13);//Получаем последние 13 символов
Итого в справочнике, т.е. в исходных данных получается артикул смещен вправо. Ну или без справочника делать это при выводе отчета, мало ли зачем это может быть нужно.
24 Arxangel06
 
20.08.12
14:38
Или я не так понял задачу и результат должен быть вида:
1234567890123
1 2 3 4 5 612
?
25 pessok
 
20.08.12
14:38
(23) предлагали, не пойдет. надо в подбор, вроде быб. непонятно ЗАЧЕМ...
26 ThreeTONE
 
20.08.12
14:43
я бы передавал строки по оле в ворд, сравнивал с эталонной строкой, там же и добивал пробелами.
в 1с нет средств для расчета длины строки в мм/пикселях, в ворде есть.
27 ThreeTONE
 
20.08.12
14:44
была примерно аналогичная задачка, для хитрой печатной формы.
извращался пару дней, но так и не заборол.

потом заказчик одумался, решили так не извращаться.
28 grigo
 
20.08.12
14:46
Наименование и артикул сами по себе не являются однозначным идентификатором товара.  Однозначным идентификатором товара является Артикул + Наименование. Таким образом, пользователю всегда и везде нужно видеть и артикул, и наименование товара. Один из способов решения - перелопатить всю конфу - мне не очень нравится. Вот и решил попробовать просто добавить к наименованию артикул.
Артикул является главным идентификатором, поэтому он должен идти впереди наименования.
Тем не менее, наименования в списках, отчетах, в табличных частях должны идти приблизительно ровно, т. к. иначе получается еще хуже, чем без артикула.
Вот и ответ на (2).
Возможно, есть другие решения, но мне ничего в голову не приходит
29 Liova
 
20.08.12
14:46
(27) Вообще для печатных-то форм как раз с выбором шрифта проблем быть не должно.

А нельзя поиграться с переносом в макете? Т.е. смотреть, какая высота получилась после вставки интеерсующей строки. Сам не пробовал.
30 Liova
 
20.08.12
14:48
(28) Так тебе тогда всё равно ВСЁ, связанное со справочником перелопачивать, заодно и шрифт в форме можно поставить.
31 Лодырь
 
20.08.12
14:49
гугли "длина строки в твипах"
32 grigo
 
20.08.12
14:49
Самая главная проблема = системное окно подбора при заполнении, например, отбора "Номенклатура - в списке". а еще таб. части документов. с печатными формами проблем как раз нету, так как во всех ПФ есть колонка артикул. Проблема с отчетами, системными формами  и таб. частями документов
33 grigo
 
20.08.12
14:53
Попробую с простого - как установить моноширинный шрифт для всех шрифтов, которые используются в режиме предприятия?
34 ЧеловекДуши
 
20.08.12
14:53
(32)Добавь в диалоге, как хочешь. А результат делай как надо ;)
...Заказчик даун..., бывает... Главное что бы он тебя потом на бабло не кинул вот с этой хотелкой :)
35 grigo
 
20.08.12
14:54
(33) платформа 8.2
36 grigo
 
20.08.12
14:55
(34) я не могу все диалоги перехватить. Например, системный диалог подбора или системный диалог списка при настройке отборов.
37 ЧеловекДуши
 
20.08.12
14:55
+(33)Нахрена тебе шрифт, это вопрос скорей не к 1С, а к винде :)
Замени его на "моноширинный шрифт для всех шрифтов" и все.

Само главное все в печатной форме :)

Походу ты не догнал, а что вообще нужно заказчику :)
38 ЧеловекДуши
 
20.08.12
14:56
(36)Еще чуть, чуть, и ты поймешь, в чем смысл жизни и всего :)
39 Лодырь
 
20.08.12
14:57
кстати а поиграться с символом табуляции не пробовал?
40 ЧеловекДуши
 
20.08.12
14:57
+ Для затравки, если в системе не будет присутствовать твой шрифт, то какой будет вместо твоего? ;)
41 grigo
 
20.08.12
14:59
(37) Походу читай (28). Еще раз - уникальным идентификатором товара является артикул + номенклатура, а вовсе не Артикул, и не Номенклатура. Каждый артикул повторяется 1-6 раз, наименования повторяются до 40 раз. Поэтому единственное решение, которое я нашел, это добавить артикул к номенклатуре. Но для того, чтобы не стало хуже, чем было, нужно подравнять наименования.
42 grigo
 
20.08.12
14:59
А с учетом того, что в режиме предприятия используются разные шрифты, вообще не знаю что делать.
43 batman69
 
20.08.12
15:00
Что такое "системный диалог подбора"?
44 Liova
 
20.08.12
15:01
Может тебе Представление поменять тогда как-нибудь?
45 Злопчинский
 
20.08.12
15:02
(41) трикотадка? носки чулки?
46 grigo
 
20.08.12
15:04
(43) Тот, который появляется, например, когда в настройках отбора ставишь вариант "В списке", и начинаешь заполнять. Вот это окошко я и называю "Системный". Может он как-то по-другому называется, я не знаю
(44) И как поменять представление?
(45) с чулками работал, терпимо. Тут хуже - мебель ))
47 pessok
 
20.08.12
15:14
(46) а почему бы не добавить колонку с артикулом... ты меньше промучаешься, там форм то не много надо будет чутка доделать
48 grigo
 
20.08.12
15:26
(47) потому что в конфе 110 документов, 130 отчетов. В большинстве из них есть колонка "Номенклатура". В большинсвте отчетов нет даже основной формы, то есть уже придется добавить 100 основных форм, в них прописать обработку подбора номенклатуры, в формах документов добавить Артикул. И повеситься при следующем обновлении. Но, походу, других вариантов нет, т. к. с добавлением артикула в наименовании ничего не получается.
49 Reset
 
20.08.12
15:27
Неужели в конфигурации есть артикул и при этом его нет в формах? В отчетах разве нельзя выводить дополнительные поля?
Объединение артикула и номенклатуры - имхо, худшее, что можно было придумать. Это же равносильно удалению артикула как такогово
50 pessok
 
20.08.12
15:37
(49) плюсцую
51 Йохохо
 
20.08.12
15:47
(48) у тебя всё упирается в "Но для того, чтобы не стало хуже, чем было, нужно подравнять наименования.", но в чем проблема не понятно
ну захерачил артикул в наименование, получил подбор свой, всё. На печать пошло Артикул + НаименованиеПолное. Где проблема то?
52 grigo
 
20.08.12
16:00
(49) выведи мне артикул + номенклатура в окне, которое появляется при заполнении отбора "Номенклатура - В списке - " в отчете, если у отчета нет основной формы. В системных формах(диалогах) выводится основное представление (наименование), а нужно артикул + наименование
(51) У меня все упирается в то, что заказчик хочет отдельную колонку "артикул" - читай внимательно - Везде, Где Есть Номенклатура. Налепендить артикул перед наименованием его не устраивает, т. к. становится абсолютно нечитабельно. Сам попробуй, длина артикула - от 4 до 13, если сразу через пробел пойдет наименование, читать станет совершенно невозможно. Я в первую очередь налепендил артикул, и видел как плохо получилось. Поэтому мне нужно подравнять - не сделать абсолютно ровно, а подравнять. Чтобы разброс в положении наименования был плюс минус полсимвола. И я надеюсь, это будет приемлемой заменой дополнительной колонки во всех списках конфигурации
53 grigo
 
20.08.12
16:03
(49) Артикул есть во многих документах, это меньшая проблема. Самая большая проблема, как я ниже писал, с отчетами, точнее, с настроиками отчетов. В сам отчет можно вывести, но главное - вывести артикул в системные диалоги, т.е. переписать механизмы заполнения настроек отчетов. Всех Отчетов В Конфигурации.
54 Йохохо
 
20.08.12
16:12
вариант - сумма
вариант - сумма
вариант - сумма
и к заказчику
55 MSII
 
20.08.12
16:21
(53) Для каждого символа, встречающегося в артикулах, определи свою относительную ширину. Определи относительную ширину символа пробела. Далее вычисляй, сколько пробелов нужно добавить для конкретного значения артикула.
56 grigo
 
20.08.12
16:28
(55) Я уже думал об этом. Только не знаю, как определить относительную ширину символа.
(54) Ты прав
57 Лодырь
 
20.08.12
18:17
(56) Второй раз пишу:  набери в поисковике строку "длина строки в твипах"
58 grigo
 
20.08.12
19:11
(57) Набрал, еще когда ты в первый раз написал. По такому запросу выдает результаты только по вижуал бейсику. а мне в 1С надо, я в VB никогда не работал. Я понял, что в 1с встроенных механизмов нет.
59 grigo
 
29.08.12
08:42
проблема решена методом (55) и (54). На легкую неровность наименований в отчетах заказчик махнул рукой )
60 MSII
 
29.08.12
08:59
(59) Как ширину символа определял?