Шрифт для печати текста в рамочке.

01.02.11

Разработка - Работа с интерфейсом

Будет полезен для печати каждого символа текста в рамке без опасений за масштабирование, выход за пределы, настройки принтера  и пр.

Скачать файлы

Наименование Файл Версия Размер
1C_Border.TTF
.ttf 129,50Kb
83
.ttf 129,50Kb 83 Скачать бесплатно
1C_BorderBold.TTF
.ttf 228,38Kb
19
.ttf 228,38Kb 19 Скачать бесплатно
1C_BorderItalic.OTF
.otf 137,50Kb
15
.otf 137,50Kb 15 Скачать бесплатно
1C_Border2.TTF
.ttf 120,55Kb
21
.ttf 120,55Kb 21 Скачать бесплатно

Налоговая Украины решила освоить печать налоговых накладных и приложений к ним на спецбланках. Посему фирмы потихоньку приучают печатать нужную информацию для автоматического сканирования и распознавания в специально выделенных полях по принципу "один знак - одна ячейка".
Сидеть и рисовать "квадратики", подгоняя их размер под тип шрифта, выбираемый пользователем, драйвера принтера и масштаб страницы достаточно утомительно. Особенно через удаленное сопровождение. когда на экране одно - в окне просмотра - другое. а на принтере - третье.
Поэтому я выбрал достаточно простой (с моей точки зрения) способ - взять моноширинный шрифт (все символы имеют ячейки одного размера) и дорисовать окантовку. На все про все ушло менее получаса.
В моем случае за основу был взят ER Kurier 1251. Таблица символов расширена и для Unicode.

Примечание.

Поскольку это 1С, нельзя же совсем без кода. Следующие 2 функции рекомендую вставить в Глобальный модуль. А в тексте печатной формы вместо печати самой переменной вызывать функцию глРасширить(, новая_длина_дозаполняемая_символом_255). Почему не пробелом? А потому, что некоторые драйвера принтеров считают, что пробел - просто отступ, а не печатный символ.

// ===============================

Функция глМодуль(Чис)
    Если Чис < 0 Тогда
        Возврат (- Чис)
    Иначе
        Возврат Чис; 
    КонецЕсли;
КонецФункции           

// ===============================
Функция глРасширить(Тек, Длина) Экспорт // если отрицательная длина - заполнение справа
   
Перем Текст;
   
    Текст=СтрЗаменить(СокрЛП(Тек)," "," ");  // замена пробелов на 255-й символ или Символ(160)


    Пока СтрДлина(Текст)        Если Длина             Текст=Текст+" ";  //Это не пробел, а Alt+255  или Символ(160)
        Иначе
            Текст=" " + Текст;  //Это не пробел, а Alt+255  или Символ(160)
        КонецЕсли;   

    КонецЦикла;

    Возврат (Текст);

КонецФункции
// ===============================

 

Для тех, кто любит отправлять по электронной почте свои документы без встроенных шрифтов и без защиты (текстовый формат или в виде электронной таблицы), придется либо попросить установить у партнеров такой-же шрифт, либо рисовать "рамочку".

Желающие могут сами освоить процедуру создания собственного шрифта, благо ничего сложного в этом нет.

 

2011/02/04

Добавлен еще один вариант шрифта - с расширенной кодовой таблицей.

 

2011/02/05

Расширена клетка для шрифта BorderBold - теперь при печати в 2 ряда рамки сливаются. (Зато они стали чуть уже при печати в один ряд )

 

2011/02/07

То же самое сделано для Italic.

 

2011/02/08

Добавлен еще один вариант основного шрифта - с более узкой рамкой и точкой на I-украинское.

 

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61707    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54320    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16625    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10567    745    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9487    150    acces969    31    

115

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3581    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12013    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vasilykushnir 63 01.02.11 18:59 Сейчас в теме
Попытка защитана. Молодец.
Обидно , что сам до этого не допетрил... ;)
2. vasilykushnir 63 01.02.11 20:09 Сейчас в теме
Попытка защитана. Молодец.
3. iov 406 01.02.11 20:17 Сейчас в теме
Очень элегантное решение
4. vasilykushnir 63 01.02.11 20:19 Сейчас в теме
Глюк какой-то с редактированием коммета: исправлление добвлено, но старый вариант сохранен, как новый коммет...
5. lals 01.02.11 20:29 Сейчас в теме
Просто но со вкусом, причем с обалденной вкуснятиной.
Эти квадратики всю кровь выпивают без остатка,
Пока их нарисуешь пока значения им дашь, ужасть.
Как говорится решпект и уважуха.
6. vasilykushnir 63 01.02.11 23:55 Сейчас в теме
Вопрос автору: как выкручиваешься, когда надо вывести чило до 4-х знаков, но реально оно равно нулю, следовательно надо вывести 4 пустые клеточки (по твоему шрифту - 4 пробела)?
Ноль в самой правой клеточке не комфимильно смотрится. Я пока выкрутился так:
?(Число > 0, дгмРасширить(Число, 4), " ") // в кавычках 4 пробела
но как-то не очень...
7. Sykoku 101 02.02.11 10:36 Сейчас в теме
Если не секрет, где встречается "0"? - В моем случае такого не бывает. Если Налоговый номер - то там "Х". Нулевая дата/номер - вряд-ли. Телефоны у меня строковые - народ любит дописывать пробелы, скобки, буквы и т.д. В этом случае предварительно запускаю парсер строки и создаю на выходе новую, в которой ничего нет, кроме цифр. Могу предложить тот же подход. Сложнее другое - когда символов больше, чем нужно. Вопрос - какие выводить - первые или последние - придется решать самостоятельно.
И, кстати, лучше не пробел, а "Alt+255" - в Windows принцип WYSIWYG не работает почти никогда.

P.S.
Если кому не нравится начертание - сообщите, какой шрифт Вам больше по душе. Выложу рядом. Выбирать. например, тут
8. ValeryZ 29 02.02.11 13:15 Сейчас в теме
Вот же ж ёлки-палки... Забыл выложить на infostart... Ещё 22-го января сделал Arial_NN.ttf
Не будет мне лавров первопроходца :))))
10. Sykoku 101 02.02.11 15:27 Сейчас в теме
(8)
Извини, я свой еще 4-го января наваял. Просто красочно оформил по просьбам трудящихся на этих выходных. И, насколько я знаю, Arial не моноширинный. Т.е. все символы будут в клеточках разного размера. Как по мне - некрасиво...
(6)
Некоторые просили вместо пробелов забивать нулями. Тут все просто - форматируем под длину знаков - "Ч(0)4" или "Ч04".
11. vasilykushnir 63 02.02.11 15:39 Сейчас в теме
(10) с нулями и форматом чисел проехали - просто вывожу нужное количество пробелов. А вот такой вариант: ИНН меньше 10 знаков и расширять надо не с начала, а с конца (в конце пробелы выводить)
12. Sykoku 101 02.02.11 16:36 Сейчас в теме
(11)
в глРасширить() второй параметр отрицательный. В данном случае -10.
13. vasilykushnir 63 02.02.11 17:20 Сейчас в теме
(12) Если бы...
дгмРасширить(ФирмаНомСвид, -10)
в ФирмаНомСвид сидит 8 знаков, та вот верхняя команда таки 8 и выводит, а не 10.
14. Sykoku 101 02.02.11 17:54 Сейчас в теме
(12)
2 вопроса.

1-й. Пробелы или Alt+255? - Пробелы не всегда печатаются. Встречал варианты и через один и самый последний и ни одного.



2-й. Длина строки что выдает? 8? И не убирали строку замены пробелов на 255-й символ?

Текст=СтрЗаменить(СокрЛП(Тек)," "," ");

первый - пробел, второй - ALT+255 - перебейте второй символ.

И строчках

Текст=Текст+" ";
...
Текст=" " + Текст;

перебейте на 255-й.

Можете проверить, работает ли функция, достаточно простым способом - заменить пробел нижним подчеркиванием. Будет чуть жирнее внизу, зато сам квадратик останется пустым и сразу поймете, где загвоздка.
17. vasilykushnir 63 03.02.11 08:17 Сейчас в теме
(14) Блин! Молдаванин я.... Ну конечно ALT+255!
Хотя нет. Не то я делаю. Если удерживаю ALT и набираю 255, ничего не вводится.
Текст=Текст+Символ(255); вместо пробела выдает "я"
а вообще, как этот ALT+255 ввести?
Знак "_" срабатывает, но это как-то...
18. Sykoku 101 03.02.11 11:18 Сейчас в теме
(17)

Удерживая (нажав и не отпуская) "Alt" на дополнительной цифровой клавиатуре набрать 255.
Если через функцию символ - его код 160 - это особенности кодировки таблиц в Windows при преобразовании в Unicode.


(16)
Можно. Можете даже свой шрифт прислать (моноширинный желательно) - я нарисую рамку.
19. vasilykushnir 63 03.02.11 13:57 Сейчас в теме
(18) Неа, не хочет вставлятся через Alt, а вот Симв(160) сработало.
15. ValeryZ 29 02.02.11 23:16 Сейчас в теме
(10)Мой вариант - моноширинный. Я специально каждую букву поместил в квадрат. Притом, правая сторона любого квадрата "накрывается" левой стороной следующего квадрата, чтобы соединения литер не выглядели утолщенными относительно верхней и нижней линий. Ну, вобщем, вот: http://infostart.ru/public/81130/
9. Арчибальд 2706 02.02.11 15:00 Сейчас в теме
16. kadrovik 03.02.11 05:34 Сейчас в теме
интересно, но можно было сделать буквы подальше от рамок ?
20. vasilykushnir 63 04.02.11 09:47 Сейчас в теме
А вообще чумовая весчь. Хочу еще раз поблагодарить автора за прекрасную идею. Сколько времени и нервов сэкономила...
Каким редактором шрифтов пользуешься?
21. Sykoku 101 04.02.11 10:38 Сейчас в теме
(20)

Шрифт создан (скорее, подредактирован) в FontLab Studio 5. Просмотр/тестирование - FontExpert 2009.
Документация в сети есть (на английском - http://www.scribd.com/doc/9298809/FontLab-Studio-5-Mac-Manual)
22. vasilykushnir 63 04.02.11 13:22 Сейчас в теме
(21) Если бы я еще что-то в английском кумекал.... У меня по пьяни и русский не очень - только с преводчиком :D
За подсказку спасибо. Когда-то пробовал свои шрифты рисовать, но видать редактор попался не очень - забросил.
FontLab Studio фришная или не совсем? Впрочем сворованное становится автоматически Free
24. vasilykushnir 63 09.02.11 10:06 Сейчас в теме
(21) Скачал студио - доктор ругается на патч - троян кажет....
26. vasilykushnir 63 09.02.11 12:39 Сейчас в теме
(25) увы... торент через проксю не хочет...
Если можно намыль: kushnir@farmacia.ck.ua

Спасибо - получил. И доктор на лекарство не ругается ;)
23. vasilykushnir 63 05.02.11 23:57 Сейчас в теме
Спасибо за добавленные шрифты. Молодец - добротно сработано.
27. BorisBelov 889 18.08.12 17:05 Сейчас в теме
(0) Почему бы не использовать штатные методы Windows?
Или я что-то не понимаю?
На экране клеточки с "пробелом" чуть-чуть ниже, при печати все одинаково!
Прикрепленные файлы:
28. Sykoku 101 18.08.12 20:36 Сейчас в теме
(27) BorisBelov,
А "штатные методы" - это как? - подчеркивание шрифта? Или использовать спецшрифт с псевдографикой и дополнительно писать обработку строки - строчка с рамкой сверху, сам текст с разделителя посередине и строчка снизу? - Так точно не хочу, еще со студенчества задолбало базы из DBF на экран/принтер так вырисовывать...
А во вторых, не все живут на Уиндовзе...
29. BorisBelov 889 19.08.12 00:26 Сейчас в теме
(28) В таблице документа 1С используется шрифт 1CBorder (Кириллический).
Реквизит "ПечСтрока", который надо печатать, имеет длину N1, количество клеток в печатной форме N2.
Остаются детали, о которых Вы писали: добавляем пробелы вначале или в конце.

В секции "Отчет" я вручную клеточки не рисовал. Название реквизита "ПечСтрока" разместилось побуквенно в клеточках при выборе шрифта. Это окно настройки печатной формы!
30. serejkin 13.10.12 13:47 Сейчас в теме
Я не уверен в полезности данной публикации применительно к бланкам.

Мне частенько приходится делать бланки с квардратиками и хочу поделиться, что: во
1-ых уже готовые бланки даются чаще уже с прорисованными квадратиками
2-ых - за отклонение количества или размера квадратиков бланк часто не принимается. Мне недвано вернуи с НИ из за того что шрифт не в сторону советской власти
3-их написать функцию для записи в бланк что-то Сред(СтрокаЧтоВпихиваем,НомСимв,1) еще проще.
Особенно, если квадратики имеют несколько строк и фиксированное количество символов да еще вдобавок некоторые поля внутри статичны. И это в системе что через каждые несколько абзпцев например пустые квпрдарики строго по одной линии.

Разработка будет полезна для произвольного бланка, где хотят вставить просто слово в квардратиках.
31. Sykoku 101 15.10.12 12:21 Сейчас в теме
(30)
1. Далеко не всегда. Чаще всего - общая рамка без внутренних разделителей - меньше вероятность сбоя, особенно для самокопирующихся бланков.
2. К шрифту размер квадратиков или их количество отношения точно не имеют. А то, что налоговая будет искать повод придраться, чтобы отказать в налоговом кредите, особенно перед:
а) выборами
б) требованием собрать на 60% больше предыдущего периода (с учетом уже стребованных наперед денег)
я нисколько не сомневаюсь. Уже начали требовать документы за период, превышающий 5 лет.
Оставьте свое сообщение