Как стать автором
Обновить
8.84

1С-Битрикс *

Продукты компании 1С-Битрикс

Сначала показывать
Порог рейтинга
Уровень сложности

Почему 1С — это хорошо

Время на прочтение6 мин
Количество просмотров17K
Данная публикация создана как ответ на весьма поверхностную и однобокую публикацию «Почему 1С это плохо и почему так не любят 1С программистов». Судя по комментариям, многие далеки от понимания того, что, собственно, представляет собой программирование на 1С.
Читать дальше →
Всего голосов 59: ↑21 и ↓38-17
Комментарии36

Почему 1С это плохо и почему так не любят 1С программистов

Время на прочтение14 мин
Количество просмотров527K
Мы продолжаем то, что мы уже много наделали.

Черномырдин В.С.

Не так давно ко мне в очередной раз обратился клиент с широко известной проблемой. В его компании установили обновления 1С. И работа остановилась, так как программа перестала корректно работать. Думаю, всем, кто сталкивался с программными продуктами от 1С в качестве программиста или пользователя, эта ситуация очень хорошо знакома.

Конечно, в данном конкретном случае я постарался решить все проблемы в самые короткие сроки, и, в результате, работа офиса вернулась в привычное русло. Но даже в такой ситуации я получил массу негатива со стороны клиента. И тогда я задумался о том, почему с программными продуктами 1С постоянно возникает такое количество проблем, почему от клиентов идет столько негатива, а самих 1С-программистов часто недолюбливают, в том числе, и другие программисты?
Читать дальше →
Всего голосов 187: ↑171 и ↓16+155
Комментарии300

Поучительная история о том, что может случиться с сайтом на shared-хостинге

Время на прочтение8 мин
Количество просмотров31K
Рабочий день медленно, но уверенно подходил к концу. Солнечный свет струился сквозь жалюзи и заливали офис золотистым багрянцем. Где-то в углу жужжала кофемашина, выдавливая остатки кофе из капсулы. Наш проджект что-то оживлённо обсуждала с дизайнером, а я правил косяки, любезно оставленные мне младшим программистом.
И всё вроде бы ничего, если бы не сообщение: «А что у вас с сайтом T?».
Читать дальше →
Всего голосов 83: ↑46 и ↓37+9
Комментарии32

Как доставлять e-mail уведомления клиентам в условиях невозможности прописать обратную DNS зону

Время на прочтение8 мин
Количество просмотров6.9K

Proof of Concept


Из такого заголовка довольно сложно понять, «а кому оно вообще нужно?», а потому для начала краткое предисловие.

Ни для кого не секрет, что интернет-провайдеры весьма агрессивно смотрят на малый бизнес. Условия обслуживания физических и юридических лиц примерно те же, а вот цена весьма существенно разнится. Ситуация монополии в какой-то мере исправилась с приходом таких стандартов, как LTE и 4G, но условия обслуживания и сейчас остаются весьма далекими от гуманности. Итак, это статья посвящается тем, кто по тем или иным условиям вынужден взаимодействовать с провайдером, который предоставляет внешний IP адрес, но не дает возможности редактировать соответствующие обратные DNS записи.

Наверняка многим известно, что в качестве требования к почтовым серверам, помимо DKIM записей и прочих проверок, предъявляется еще и обязательное наличие обратной DNS записи. В противном случае, письма либо не будут доходить вовсе, либо будут попадать в папку «Спам». С вышеозначенными фактами далее мы и будем разбираться.

Основная идея


Какие варианты остаются? Во-первых это сервисы прозрачного SMTP проксирования. Но в этом случае клиенту будут приходить письма со стороннего домена, что, вполне естественно, может вызвать недоверие клиента к вашему ресурсу. Во вторых это магия. В сторону последней и будем думать.

Идея в том, чтобы избавиться от вашего IP, как от начального релея. В этом нам помогут службы Gmail Hosted. Процедура настройки вашего домена для использования Gmail Hosted довольно проста и хорошо задокументирована. За всеми подробностями сюда: Google Apps для бизнеса.

Настроив свой домен для работы со службами Gmail Hosted и зарегистрировав соответствующий почтовый ящик для связи с клиентами (предположим это noreply@yourdomain.com), очень хочется автоматически из кода вашего ресурса оповещать своих клиентов о событиях. Но если же в такой конфигурации попытаться воспользоваться учетной записью noreply@yourdomain.com, как релеем, то получим то же, от чего уходили. Нанимать сотрудника, который бы входил в веб-интерфейс и отправлял оповещения — неразумно.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии21

Истории

Как не застрять в колесе неудач и построить правильный бизнес. Внедрение бизнес- процессов

Время на прочтение3 мин
Количество просмотров7.6K
image

Всем привет!

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

Почему в своем же бизнесе я была менеджером, а не управленцем, спросите вы? Все очень просто, потому, что всю работу я выполняла сама. В начала создание интернет — магазина, я могла принимать заказы и отправлять их, вести бухгалтерию и сводить всех поставщиков, заполнять карточки с товаром и постоянно менять цены вручную, если это нужно было сделать.
Читать дальше →
Всего голосов 29: ↑5 и ↓24-19
Комментарии9

Игра шаблонов. Как примирить Битрикс со сторонним шаблонизатором вывода

Время на прочтение7 мин
Количество просмотров14K
PHP-разработкой я занимаюсь уже довольно давно, и за это время научился использовать преимущества этого языка и избегать, по возможности, его недостатков. Но что мне никогда не нравилось в PHP — это встроенный механизм шаблонизации. Обилие символов “<?php … ?>” и многословных языковых конструкций бьет по глазам, возможность использования в шаблоне произвольного PHP-кода не способствует соблюдению принципа разделения логики и представления.

Поэтому я благодарен судьбе (и сообществу разработчиков, конечно) за то, что существуют альтернативные движки шаблонизации, с гораздо более приятным синтаксисом при тех же функциональных возможностях. Ну, а поскольку большая часть PHP-проектов у нас, в Центре Высоких Технологий, разрабатывается на Symfony2 Framework, то нашим любимым шаблонизатором стал Twig. Помимо указанных выше преимуществ, он еще и безгранично расширяемый, что очень часто помогает в работе.

Но жизнь частенько преподносит сюрпризы. Вот и на меня недавно свалился небольшой, но довольно интересный проект, делать который нужно было на… Битриксе! К счастью, работать с Битриксом мне уже приходилось, но было это давно (и неправда), поэтому я воспринял проект как возможность посмотреть на свой прошлый опыт с новой точки зрения, применить накопленные знания и навыки в несколько ином контексте.
И первое, что мне захотелось сделать — “прикрутить” Twig, чтобы не мучиться с нативной шаблонизацией.

Вот что из этого получилось.
Читать дальше →
Всего голосов 42: ↑25 и ↓17+8
Комментарии3

Создание своего WebRTC приложения на платформе 1С-Битрикс

Время на прочтение6 мин
Количество просмотров16K


На просторах Хабра все чаще и чаще публикуются статьи про технологию WebRTC, уже написано несколько хороших статей о том, как начать работать с технологией WebRTC (например: раз, два).

В этой статье я хочу рассказать, как используя технологии WebRTC и Битрикса, создать своё мультимедийное веб-приложение.
Читать дальше →
Всего голосов 26: ↑17 и ↓9+8
Комментарии14

Создаём шаблон 1С-Битрикс на базе Bootstrap вёрстки

Время на прочтение29 мин
Количество просмотров156K

Введение


Уважаемый читатель, данная статья является по сути своей продолжением статьи «Как сверстать веб-страницу. Часть 2 — Bootstrap» и здесь мы отойдём от собственно вёрстки, занявшись интеграцией HTML шаблона в CMS 1С-Битрикс.

В предыдущей части Хабраюзер Mirantus сверстал шаблон Corporate Blue от студии Pcklaboratory с помощью Bootstrap 3.

Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии8

Прямая запись в справочник 1C: Предприятие через Linq на примере работы с пользователями Asp.Net

Время на прочтение6 мин
Количество просмотров10K

Прямая запись в справочник 1C: Предприятие через Linq на примере работы с пользователями Asp.Net


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

Описаны только простейшие операции по регистрации и авторизации. Вспомогательные операции по восстановлению пароля, информированию через E-mail не освещаются. Работа ведется прямым доступом к базе MSSQL через Linq. Подход позволяет использовать одновременно функционал Asp.Net и 1С, а также обойтись без посредников в виде разных CMS.

Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии19

Отладка с помощью XDebug и PhpStorm на примере сайта 1С-Битрикс

Время на прочтение3 мин
Количество просмотров130K
В этой статье я расскажу как удобно осуществлять отладку кода в PhpStorm на примере работы с веб-сайтом, работающем в системе 1C-Битрикс. Работать будем с IDE PhpStorm и отладчиком XDebug. Я предполагаю, что на вашем сервере уже установлен XDebug и у вас уже создан проект в PhpStorm.

В данной статье примеры приводятся с таким набором инструментов:
  • Веб-сервер — MAMP PRO
  • XDebug v2.2.3.
  • IDE PhpStorm 7.1
  • На моем локальном серевере установлен 1С-Битрикс 14 версии с решением интернет-магазина.


Итак, начнем.
Читать дальше →
Всего голосов 47: ↑28 и ↓19+9
Комментарии21

Highload инфоблоки и работа с ними

Время на прочтение2 мин
Количество просмотров57K
Доброго времени суток.

Сегодня поговорим о Highload инфоблоках. Точнее как с ними работать. Если вы посмотрите в интернете, то везде есть как с них взять информацию, но как наоборот записать-изменить-удалить — этого я не нашел (наверное просто я плохо искал), но мне очень надо было.
Поэтому я обратился к ЛайфАПИ и раскопал кое-что. Начнем по порядку.
Как вы наверное заметили, эти инфоблоки содержат пользовательские поля. Т.е. каждое поле начинается с UF. Но я не буду разжевывать, т.к. кто кодит на битриксе, тот знает это.

Читать дальше →
Всего голосов 21: ↑4 и ↓17-13
Комментарии7

How-to: Прозрачная NTLM авторизация на корпоративном портале

Время на прочтение2 мин
Количество просмотров44K
Привет Хабрасообществу.
Хотел бы посвятить этот топик корпоративному порталу от Bitrix 14 версии, а точнее тому, как его подружить с доменной структурой.


Введение

Все началось с того что решили мы внедрить в организации корпоративный портал (сотрудники, тел. книга, календарь дней рождений) и систему заявок в IT отдел. Попробовав в качестве системы заявок GLPI и Request Tracker, поняли, что слишком громоздко для нас. Рыская по просторам сети в поисках других таких систем наткнулся на модуль «Тех. Поддержка» в продукте от компании Bitrix, ну и собственно решил попробовать убить двух зайцев организовать и заявки, и корпоративный портал.
Поставив систему захотелось организовать прозрачную авторизацию на портале под доменными учетками и вот тут начались проблемы… На их сайте довольно-таки много документации и статей, но беда в том что храниться это все в одной кучи и непонятно что, к какой версии относится. С первого раза настроить NTLM авторизацию самому не получилось, точнее авторизация проходила, но после портал запрашивал еще локальную учетку/пароль. Задав вопрос на форуме битрикса ответ не получил, зато нашел еще несколько человек с такой же проблемой. Не успокоившись решил копать сам.
В итоге делюсь со всеми how-to настройки КП под BitrixVM и IIS 7.
Читать дальше →
Всего голосов 8: ↑3 и ↓5-2
Комментарии6

Как сделать модуль 1С-Битрикс

Время на прочтение4 мин
Количество просмотров77K
В сети легко можно найти мануал по созданию модулей с пользовательскими компонентами, но не рассматриваются другие типичные ситуации. А между тем, это могло бы помочь развитию разработчиков и улучшению общего уровня кода под Битрикс.

Можно много спорить о самом Битриксе, но он продолжает существовать, и разработчикам нужны знания. Я опишу создание модулей на примере шуточного модуля “Почта России”. Он запретит редактирование элементов инфоблоков в субботу, воскресенье и в обед.
Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии13

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн

Интеграция Java и 1С через .Net framework на примере Apache PDFBox

Время на прочтение3 мин
Количество просмотров15K

Интеграция Java и 1С через IKVM.Net на примере Apache PDFBox



В сети Интернет мало информации по интеграции Java и 1С. Тем не менее, есть интересные Java-проекты, работу которых хотелось бы оценить внутри 1С. Apache PDFBox – один из таких популярных проектов. Так сложилось, что файлы pdf являются очень распространенными, а 1С не имеет хороших средств работы с данным форматом. Предложенный здесь способ состоит в том, чтобы через утилиту IKVM.NET перевести JAVA-библиотеку в .Net-сборку, а затем использовать эту сборку внутри 1С средствами интеграции.

Apache PDFBox– это библиотека Java для работы с PDF-документами. Позволяет выполнять операции: извлечение текста, печать PDF, слияние и разделение документов, преобразование в изображение, заполнение форм, создание PDF, проверка PDF/A, интеграция с Lucene Search Engine. В примере использована версия 1.8.2.

IKVM.Net – это виртуальная машина Java для Mono и .Net framework. IKVM.Net позволяет конвертировать библиотеку Java в сборку .Net и затем обращаться к библиотеке средствами .Net framework. IKVM.Net содержит много вспомогательных сборок, отвечающих за различные классы Java. В примере используется версия 7.2.4630.5.
Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии13

1С-Битрикс — CMS от маркетологов. Плюсы и минусы

Время на прочтение10 мин
Количество просмотров87K
Всем привет. Это мой первый пост на хабре. Поэтому представлюсь для проформы. Веб-разработчик. Опыт 3,5 года. В настоящий момент — состоявшийся битриксоид. Занимаюсь всем — поддержкой крупных проектов, собственной разработкой, консультацией в вопросах маркетинга, обзором возможностей новых версий, нюансами интеграции сайта с 1С на стороне оной, написанием модулей для marketplace, внедрением бизнес-процессов в «Корпоративный портал». И многим другим. В рамках отдельно взятой CMS. К счастью ли, к сожалению ли (в статье об этом и пойдет речь) — без работы остаться невозможно. Рынок наполнен продуктами от 1С-Битрикс более, чем наполовину.

В статье речь пойдет о плюсах и минусах этой монополии. А в том, что тенденции для этой монополии есть — лично у меня никаких сомнений.
Читать дальше →
Всего голосов 43: ↑20 и ↓23-3
Комментарии80

Методология разработки на 1С-Битрикс – опыт дурака

Время на прочтение9 мин
Количество просмотров67K
Не так давно наша компания получила на сопровождение и доработку достаточно большой интернет-магазин на 1С-Битрикс. Проект пару месяцев, как был запущен в промышленную эксплуатацию, но при этом имел ряд серьезных проблем. Кроме того, заказчик планировал выполнить задачи по доработке нового функционала в максимально сжатые сроки. Передо мной была поставлена задача организовать эффективную работы по проекту с минимальным временем простоя сайта и максимальным удовлетворением потребностей заказчика.

Далее опишу основные проблемы, с которыми пришлось столкнуться в этом, и нескольких похожих, проектах, апробированные мною решения и результаты работ.
Читать дальше →
Всего голосов 39: ↑22 и ↓17+5
Комментарии39

Как заставить интернет-магазин выдерживать нагрузку 280 000 посетителей в час?

Время на прочтение5 мин
Количество просмотров15K

Привет, Хабр!

К сожалению, на данном этапе развития веб-программирования в нашей стране рефакторинг проекта чаще воспринимается как работа программиста в режиме «все плохо» и проводится только в тот момент, когда сайт уже находится в критическом состоянии. С подобной ситуацией нам пришлось столкнуться в 2012 году, когда к нам на обслуживание пришел один крупный российский интернет-магазин со следующей проблемой: начиная с 10 утра сайт каждые полчаса падал на 5-10 минут и поднимался или с большим трудом, или после жесткого ребута. После ребутов сайт немного работал, а затем падал опять. Особую остроту проблеме придавал тот факт, что приближался Новый год, высокий сезон для всех продающих сайтов, и в данном случае фраза «за 10 минут компания теряет десятки тысяч долларов» была не шуткой.
Как мы спасали проект
Всего голосов 54: ↑20 и ↓34-14
Комментарии35

ZendFramework + Bitrix

Время на прочтение5 мин
Количество просмотров14K
Пожалуй, это был один из самых муторных челленжей для меня за последнее время.

Итак. Мы занимаемся технически сложными проектами, потенциально рассчитанными на высокие нагрузки (highload). Так получилось, что среди систем управления контентом пока победил Битрикс. Его хотят клиенты. Судя по нашему опыту — highload на Битриксе — очень даже реальная задача, если делать все аккуратно.



Обычно в проектах, где много форм, личных кабинетов или какая-то сложная логика — мы предлагали на выбор клиенту реализацию на Zend Framewok или на Битрикс. Минус ZendFramework был в том, что на нем нужно писать админку. Минус Битрикса — он плохо приспособлен под проекты со сложной бизнес-логикой: там толком нет MVC и местами отвратительный код и API. Маркетинговые байки-балалайки про ядро D7, которым уже 2 года — мы в расчёт не берем:

«Talk is cheap. Show me the code» (Linus)

Итак, возникла идея на сложных проектах использовать ZendFramework с управлением данными из админки Битрикса.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии9

Простейший способ реализации переключения цен в 1С-Битрикс

Время на прочтение3 мин
Количество просмотров36K
Довольно часто на интернет-магазинах оптовой торговли можно встретить сразу несколько типов цен — обычно их обозначают как ОПТ1, ОПТ2, ОПТ3 и т.п. В зависимости от того, на какую сумму покупатель набрал добра в корзине и(или) иных условий, для него срабатывает тот или иной тип цен.

К сожалению, не все движки сайтов предусматривают наличие сразу нескольких типов цен для товара, а даже те движки, в которых есть возможность задания более чем одной цены для продукта, зачастую не располагают гибкими механизмами их переключения. К последним относится довольно таки популярный «1С-Битрикс». С одной стороны, в этой CMS уже в «коробочном» варианте(в редакции «Бизнес» и выше) есть поддержка нескольких видов цен, а с другой стороны, совершенно непонятно как настроить динамическое переключение этих цен в зависимости от тех или иных условий. Штатный мануал по этой части тоже хранит гробовое молчание. Надеюсь, что товарищи из Битрикса исправят это досадное недоразумение, но я решил не ждать этого счастливого момента и ясное дело додумался до костыльного решения, чем собственно и решил поделиться с хабрасообществом.

Итак, поехали…
Читать дальше →
Всего голосов 9: ↑5 и ↓4+1
Комментарии8

Доступ к SOAP веб-сервисам 1С из JavaScript и Html

Время на прочтение5 мин
Количество просмотров43K
Описанный метод позволяет обратиться к веб-сервисам 1С из html-страницы через JavaScript. В качестве примера выводится список справочников. При нажатии на любой справочник выводятся первые буквы наименований. При нажатии на букву выводятся данные с наименованиями, начинающимися на эту букву.

Способ применим для случаев, когда веб-сервис и html-страница опубликованы на одном сервере. В этом случае не возникает кросс-доменных проблем. Например, если домены будут отличаться, то Chrome выдаст ошибку:

Failed to load resource: Origin localhost:3299 is not allowed by Access-Control-Allow-Origin

Не вдаваясь в подробности публикации веб-сервисов, предположим, что на стороне 1С создан и опубликован веб-сервис catalogs с операцией Execute. На входе — параметр script типа string, на выходе тип string. Операция запускает на стороне произвольный код script из параметра и возвращает JSON-сериализацию от переменной result.

Функция ExecuteCommands(script)
    result = null;
    Execute(script);
    return JSON(result);
КонецФункции


С JSON-сериализацией удобно работать средствами JavaScript и преобразовать строку в объект/массив одной командой eval(resultText). В Интернете можно найти несколько JSON-сериализаторов для 1С.

Удостоверимся, что веб-сервис отвечает, введя его адрес:

Отклик веб-сервиса
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии4