|
Визуальная длина строки | ☑ | ||
---|---|---|---|---|
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) Как ширину символа определял?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |