Линейка для вёрстки табличных макетов

8 Comments

  1. seermak

    (0) я скрестил http://infostart.ru/public/15898/ и Вашу = получился приятный для работы симбиоз)))))

    Reply
  2. Yashazz

    Крутейше! Спасибо!

    Reply
  3. Spacer

    Я для подгонки печатных форм использую другой инструментарий — специальные программы которые называются «экранные линейки».

    Например программа Screen Calipers. Она представляет из себя симпатичный штангенциркуль который можно таскать по экрану.

    Можно менять угол наклона штангенциркуля, мерять как внешний так и внутренний размер. Очень удобная штука.

    Reply
  4. saiten

    (3) Дык она 30 баксов стоит… А так да, штука удобная.

    Reply
  5. Dnki

    Спасибо. Актуально при рисовании ценников.

    Reply
  6. chmv

    Интересная идея. Полезно для наклеек

    Reply
  7. dm1try

    ошибка при включении H или V. Как можно исправить?

    Reply
  8. saiten

    (7) Собствено, то, что на скриншоте — это не ошибка, а штатная логика работы. Возможности поиска по коллекции картинок табличного документа нет, поэтому был приделан такой костыль через Попытку-Исключение. Если по какой-либо причине такое решение вам не подходит, можно, например, каждый раз очищать линейку и заполнять её заново.

    Процедура СформироватьЛинейку(ТабДок, ИмяЛинейки, Длина_мм = -1, ЦенаДеления_мм = 1, Вертикальная = Ложь)
    КоллекцияРисунков = ТабДок.Рисунки;
    сН_Масштаб = ?(?(ТабДок.МасштабПечати=неопределено,0,ТабДок.МасштабПечати) = 0, 100, ТабДок.МасштабПечати)/100;
    УдалитьЛинейку(ТабДок, ИмяЛинейки);
    Для Индекс = 0 по Длина_мм/ЦенаДеления_мм Цикл
    Риска = КоллекцияРисунков.Добавить(ТипРисункаТабличногоДокумента.Прямая);
    Риска.Имя = ИмяЛинейки+Индекс;
    
    Риска.Верх = ?(Вертикальная, Индекс*ЦенаДеления_мм/сН_Масштаб, 0);
    Риска.Лево = ?(Вертикальная, 0, Индекс*ЦенаДеления_мм/сН_Масштаб);
    Риска.Ширина = ?(Вертикальная, 1+?(Индекс*ЦенаДеления_мм%5=0,1,0)+?(Индекс*ЦенаДеления_мм%10=0,1,0), 0);
    Риска.Высота = ?(Вертикальная, 0, 1+?(Индекс*ЦенаДеления_мм%5=0,1,0)+?(Индекс*ЦенаДеления_мм%10=0,1,0));
    КонецЦикла;
    КонецПроцедуры
    

    Показать

    Reply

Leave a Comment

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