image_pdfimage_print

Какая боль, какая боль Linux 1C — понять и простить

Доброго времени суток!

Установка 1С на Linux не так проста как кажется
http://infostart.ru/public/142601/

Но это не все с чем Вы можете столкнуться

1. Ошибка загрузки библиотеки libWand.so по причине:Библиотека не обнаружена.
Может появиться на 64 битной версии клиента Linux. Оказалось, что для 32 битной платформы, библиотеки нужны тоже 32 битные(что вроде бы логично, но было упущено из виду)
Решение: установить 32 битный пакет imagemagick командой:
apt-get install imagemagick:i386

Если это не работает:  Лечится это запуском 1С с параметром окружения «LD_PRELOAD=libgomp.so.1»

2. Установка свободных шрифтов может и не понадобиться…
sudo apt-get install msttcorefonts
И директории sudo /opt/1C/v8.3/i386/utils/ в 8.3.8 уже нет.

3. Есть проблемы с выделением текста в конфигураторе. Замена драйверов видео иногда помогает решить эту проблему.
http://www.forum.mista.ru/topic.php?id=769153

О сколько нам ошибок чудных готовят…

«Никому про наш секрет не говори,
А стекляшек разноцветных набери.
Ты зажмурься и три раза повернись,
А теперь глаза открой и удивись!»
— из детской песни.

Доброго времени суток!

 

1. Осторожно переход на 8.3.7. Конфигурация на 8.3.7 в режиме совместимости 8.2 никогда не вернется на старые версии!

ВыгрузкаЗагрузка1С

 

2. Опять мне пришлось столкнуться с проблемами идентицикации сервисов 1С. Благодаря 1С 8.3 у нас появились http сервисы, а методы работы для них остались такие же как для web-сервисов.

Также было замечано, что http сервисы возращают ошибку 403, а web-сервис ошибку 500. Ошибка исправлется переустановкой всех прав для пользователя 1С под которым они должны работать. И дальнейшем убирание ненужных, типа

Права1С-Сервисы“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — 
Сама 1С рекомендовала замену версии 8.3.6 (8.3.6.2237 и ниже) на версию 8.3.6.2299 платформы «1С:Предприятие 8» http://www.1c.ru/news/info.jsp?id=20420

Хорошая статья по авторизации http://www.bizkit.ru/2013/05/24/1722/

И пример на инфостарте http://infostart.ru/public/302876/

И моя старая статья http://sikuda.ru/archives/376

 

3. И немного позитива для 8.3.6 (при запуске программы из директории common)

1С не обнаружена
Это для тех кто забыл подправить ярлыки 1С.

 

4. Немного тестирования на 8.3.7

Вход в 1С
Это вообще одиночный фантом.

 

5. Медитации тестовых новых версий….

1c84down

1c84fulldown

Один из способов вызвать функцию 1С из JavaScript для обычных и управляемых форм

Оригинал статьи:
http://x1c.ru/kak_visvat_1c_is_js/

Это статья для Специалистов по 1С.

Иногда к нам обращаются с вопросом по поводу того, как из JavaScript’а в ПолеHTMLДокумента вызвать функцию 1С.

В этой статье мы приведем сразу 2 примера:

  • вызов функции JavaScript в ПолеHTMLДокумента из 1С
  • вызов функции 1С из JavaScript в ПолеHTMLДокумента

В первом случае функция вызывается достаточно просто:

ЭтаФорма.Элементы.хНТМЛ.Документ.parentWindow.MyFunction ();

Второй случай чуть сложнее. Суть его реализации заключается в следующем:

  1. Объявить экспортную функцию в форме (с ключевым словом Экспорт).
  2. Передать ссылку на форму (обычную или управляемую) в переменную JavaScript.
  3. В нужный момент вызвать из JavaScript нашу экспортную функцию как обычный метод формы.

Дальше приведен код для управляемой формы, а для обычной формы код выглядит аналогично.

 

Формат 1C v8msg

Доброго времени суток!

Если Вы встретили в 1С формат v8msg

знайте это формат данных распределенных данных 1С.

Чтение таких данных осуществляется так:

Запись может осуществляться так:

При чем ПланамиОбмена можно пользоваться совместно и отдельно от выгрузки и загрузки.
При чтение: ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого);

Раскрасить ТабличнуюЧасть в 1С

Доброго времени суток!

В простых формах мы перехватывали событие ПриПолученииДанных и изменяли оформление:

 

В Управляемых формах есть свойство формы УсловноеОформление. Можно его правильно настроить
http://infostart.ru/public/181336/

или использовать программно:

Регулярные выражения в 1С

Доброго времени суток.

Регулярные выражения в 1С — ИХ НЕТ!

А чем больше вы занимаетесь программированием, чем больше используете другие языки и среды тем больше Вы задаете вопрос: Почему?
Регулярные выражения это просто классика(http://www.unicode.org/reports/tr18/), но философия 1С уводит на другую дорогу. И пример этому в развитии платформы функций со строками: http://v8.1c.ru/o7/201408str/index.htm

А мы скажем спасибо Александр Орефкову за его внешнюю компоненту RexV8 http://infostart.ru/public/183084/

Для работы с юникодом V8 использует кроссплатформенную библиотеку ICU, которая помимо прочего, содержит и функционал по работе с регулярными выражениями. По какой-то неизвестной причине, 1С не «вытащила» этот функционал «наружу», и пользоваться им из языка 1С возможности нет.

Однако, как всегда, на помощь приходят ВК.

Представляю свою разработку, которая строит «мостик» из библиотеки ICU в язык 1С.

 

P.S.

Локальные решения проблемы для Windows(Новый COMОбъект(«Vbscript.RegExp»))  http://infostart.ru/public/64222/

Интересное тестирование с раскраской: http://infostart.ru/public/80508/

}{ождение по внешней компоненте 1С.

Доброго времени суток!

Если вы решили собрать внешную компоненту для 1С и уже изучили документацию 1С то самое время остановиться на некоторых нетривиальных моментах:

  1. Используем кодировку 1251. В Windows неявно, а в Linux makefile: -finput-charset=WINDOWS-1251
  2. Форматы динамических библиотек для разных компиляторов не совпадают, поэтому собираем компоненту в Windows только в Visual Studio(никакого MinGW),а Linux gcc.

 

Изучаем чужие опыты:

http://habrahabr.ru/post/191014/ — примеры с готовыми базами 1С для тестирования

http://infostart.ru/public/184119/ — how-to

 

Интересный пример написания внешних компонентов на Python(но у меня  не заработали процедуры…)

http://infostart.ru/public/186206/

 

Координы мыши внутри поля html в 1С.

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

Доброго времени суток!

Для любителей выполнять javascript внутри 1С расскажем о нескольких тонкостях с которыми приходиться встречаться.

1. Инициализация внутри html поля происходит два раза. То есть два раза вызывается код. Чтобы этого избежать надо проверить на размер поля отображения, если он нулевой — можно код не выполнять.

2.Координаты мыши внутри поля html определяются отдельно внутри 1С и для вэб-клиента. Чтобы их совместить необходимо написать

3. И для любителей полноты картины Клиент Линекса(Linux client): это layerX, layerY.

Для тех суровых парней, которые мужественно преодолевают глюки

 

P.S.

И кусочек документации от 1С для проникновенности об «Ограничение использования поля HTML документа». http://its.1c.ru/db/v8std/content/2149184379/hdoc (у кого есть доступ в ИТС)

1. Не следует использовать поля с HTML-документами (свойство ВидПоля установлено в ВидПоляФормы.ПолеHTMLДокумента) в случаях, когда возможно использование элементов управления платформы 1С:Предприятие. При разработке форм следует стремиться применять только штатные элементы управления, предусмотренные в платформе.

Например, неправильно, размещать на форме отдельные гиперссылки с помощью полей с HTML-документами.
Правильно использовать для этих целей кнопки, надписи с гиперссылками или с форматированными строками.

2. Допустимый пример использования поля с HTML-документом: вывод в формах различных пользовательских инструкций, встроенной справки, путеводителей с оформлением и картинками, которые предназначены только для просмотра информации.

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

Включаем звук в 1С. Доступно и всерьез.

Доброго времени суток!

Просматривая возможности вывода звука в html5 http://w3schools.com/html/html5_audio.asp я задумался как с этим  обстоит дело в 1С.

Начнем по порядку.

1. Когда в 1С не было управляемых форм, вывод звука основывался на системных вызовах Windows. Можно было зарегистрировать специальный ActiveX и вызвать его специальную функцию (http://www.modber.ru/catalog/item2121.html, http://infostart.ru/public/58136/). Например в http://infostart.ru/public/85155/ используется DynamicWrapperX и следующий код:

Легко заметить, что данная библиотека может зарегистрировать функции не только работы со звуком. И возникает большая опасность, что это может использоваться не только в благих целях.
С другой стороны в тонком клиенте или web клиенте доступ к таким компонентам ограничен. И пользоваться системным вызовом Windows из браузера неполучиться.

2. Поэтому, вооружившись только средствами интернета, будем воспроизводить звуки в 1С.
Начнем работать с  тэгом audio. В интернете у всех уже современные браузеры и все работает. Но мы же будем звучать из 1С. Значит первое что нам надо — это воспроизвести звук в тонком клиенте. Так как поле HTML в 1С работает в режиме совместимости IE7, то мы воспользуемся старый тэгом для IE bgsound.

Мы можем хранить звук в виде макетов двоичных данных. И использовать их внутри HTML поля. подобным образом:

/* И добавить скрипт в страницу */

Можно использовать вместо тэга bgsound использовать embed или object, но это все-таки неявные ActiveX элементы (http://infostart.ru/public/90660)

3. А как нам работать в web клиенте? Правильно, в web клиенте 1С работает все по другому, ближе к современным стандартам. Возьмем в руки тэг audio, попробуем сделать данные во временном хранилище и получим полным облом. Так пока сделать звук не удалось.

Но мы используем другой метод, не столь распространенный. Надо превратить звук в текст. Скажете сказки? Нет читаем спецификации и доделываем.
http://jsfiddle.net/sikuda/eY8Ba/

Обработка доступна на Инфостарте  http://infostart.ru/public/248770/

Р.S.
Ну вы понимаете к чему я клоню — пора делать простые игрушки.

Вначале Internet Explorer 11 и 1C были не вместе.

 

Доброго времени суток!

Движения в сторону новых браузеров Microsoft фирма 1С стала совершать( IE10 http://sikuda.ru/internet-explorer-10-dlya-windows-7-vyishel/) . Но мир не стоит не месте. появился новый IE11 и Microsoft всем обновила браузер на компьютере.

Сначала IE11 не входил в список поддерживаемых браузеров 1С.
Bad1CBrowser

 

 

 

 

 

Теперь он добавлен в список Microsoft Internet Explorer 8.0, 9.0(x86), 10(x86), 11(x86) для Windows (http://v8.1c.ru/requirements/)

Ключевой особенностью этого браузера является то, что стандартно определить этот браузер по свойству userAgent не возможно. Выдает типа:

«Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko»

Или вообще прикинуться Chome

Chome — userAgent «Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36»

Это мы оставим на разборки MS — Google, а сами займемся 1С.

 

Что-же у нас в тонком клиенте:  У нас все стабильно и это хорошо:

UserAgent1C

 

И если некоторые и предлагают для html поля прописывать строчку совместимости с новой версией <meta http-equiv=’X-UA-Compatible’ content=’IE=Edge’ /> то это меняет картину только отчасти:

UserAgent1C-Comp

Да первая инициализация поля html происходит с новым userAgent, но выполнение основного контента и обработка событий внутри поля находиться в режиме совместимости IE7.  Так. что воздержимся от таких половинчатых решений и будем жить в режиме совместимости и надеяться на 1С 8.5 и выше

Обработка 1С для проверки на сайте Инфостарт:  http://infostart.ru/public/171763/

IE глазами дизайнера
Internet Explorer