fixin (fixin) wrote,
fixin
fixin

Переспал с мыслью о Галлерее

Я уже было хотел отказаться от управляемых форм и реализовать всё на обычных, но мне пришла в голову спасительная мысль поэкспериментировать с полем табличного документа.

И о чудо! Всё получилось, мне удалось даже в тонком клиенте нарисовать галерею. Причем все работает быстро даже без эскизов. Обычные JPG файлы быстро показываются 1ской в уменьшенном формате! Клёво.

В приступе отчаяния я уже думал взяться за Java или QT (из пушки да по воробьям):

Но достаточно было переспать одну ночь с мыслью о Галлерее и мне пришло решение, как Менделееву его таблица.

От эксизов я не собираюсь совсем отказываться, для видео файлов я попробую создавать gif-картинки с раскадровкой и буду показывать их вместо эскизов, если конечно, для этого есть инструменты.

Для доступа к exif-данным медиафайлов буду использовать ImageMagic в режиме командной строки, скармливая ей пакет из 50-100 файлов за раз.

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

По крайней мере, перебор файлов для заполнения коллекции я уже реализовал.

Еще пару слов о том, зачем писать Медиатеку на 1С, не самом подходящем инструменте для этого?

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

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

Ну, или, как вариант, можно выпустить Медиатеку в 1С:Совместимо, когда не нужно будет покупать 1С платформу за 300$, чтобы насладиться продуктом, а достаточно будет заплатить 1000 рублей за базовую версию (т.е. полностью функциональную, но без возможности внесения изменений в код).

Вот код, который отрисовывает картинки галлереи:


    ТабДок = ПолеТабличногоДокумента;
   
ОчиститьНаСервереПолеТабличногоДокумента(ТабДок);
   
КоличествоКолонок = 6;
   
Инд = 1;
    Для Каждого
Строка ИЗ Объект.Файлы Цикл
       
ТекКартинка = Новый Картинка(Строка.АбсолютноеИмяФайла);
       
ТекОбласть = ТабДок.Область(Инд, 1);
       
ТекРисунок = ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
       
ТекРисунок.Картинка = ТекКартинка;
       
ВысотаКартинки = 30;
       
ШиринаКартинки = 30;
       
ПоложениеВерх = Цел((Инд - 1)/КоличествоКолонок) * (ВысотаКартинки + 2);
       
ПоложениеЛево = ((Инд - 1) % КоличествоКолонок) * (ШиринаКартинки + 2);
       
ТекРисунок.Верх ПоложениеВерх;
       
ТекРисунок.Лево = ПоложениеЛево;
       
ТекРисунок.Ширина = ШиринаКартинки;
       
ТекРисунок.Высота = ВысотаКартинки;
       
Инд = Инд + 1;
    КонецЦикла;

Tags: , Кризис IT, Управляемые формы 1С

Posts from This Journal “1С” Tag

  • Прислонение файла при записи документа в СЭД

    Попросили прикладывать еще один файл при записи нового внутреннего документа. Приложенные файлы можно указать в шаблоне внутреннего документа, но…

  • Рефакторинг Excel

    Пришлось рефакторить код, который грузил данные из Эксель, написанный другим программистом. На файле из 40 000 строк и 200 колонок загрузка тихо…

  • Белорусская 1Сница

    Белорусские тёлки - расчетливые твари. Если бы я вовремя не свалил в Калининград, то трахнул бы намного меньше тёлок. Уже потом, когда ездил лечить…

  • Тру-1Сникам про трюк с КД

    Этот пост поймут только тру 1с-ники. Были готовые правила обмена, где выгружался только один переданный в параметре объект - документ РТУ. Нужно…

  • Иллюзии 1С

    Иногда забавно наблюдать, как приживаются иллюзии в мире 1С. Даже умные авторы порой пишут стереотипы из народного фольклора. Вот, например,…

  • Асинхронность в 1С

    Асинхронность в управляемом интерфейсе 1С 1С на управляемых формах теперь работает на большом количестве платформ – браузеры, мобильные…

  • QT в борьбе с кризисом IT

    Когда-то давно я попытался изучить Java, но меня оттолкнула ужасная уёбищность программирования форм на ООП. После 1С или VB6 это все равно что…

  • Пописал медиатеку на 1С

    Попробовал написать медиатеку на УФ для 1С. Перебрал фалы в каталоге, пусть даже в геморройном асинхронном режиме, и что бы вы думали? Споткнулся на…

  • Моделирование стратегий размножения

    Продолжаю попытки проверить гармонию математикой. Вот, набросал первый проект разработки, которая моделирует выживание. И она уже обсчитывает…

Buy for 40 tokens
Вы думаете, что ваше тело принадлежит вам? А вот и нет! Наш Минздрав считает совершенно иначе и выступил с инициативой, которая нарушает все права человека. Правда для этого придется изменить Кодекс административных правонарушений, потому что по инициативе Минздрава предполагается наказывать врача…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 48 comments