Создаем объекты для модуля Bootstarp на Русском Фоксе

Публикация № 889535 19.08.18

Разработка - Практика программирования

РусскийФокс Bootstrap CSS HTML

Создавайте свой модуль с объектами для модуля Bootstrap, пакуйте их fxp-файлы и создавайте сайты из этих кубиков. Разберем, как это делать. Все гениальное должно быть простым, как теория относительности.

В предыдущей статье «РусскийФокс и Bootstrap» было анонсирована новая технология создания сайтов с помощью Русского Фокса. Суть ее заключена в том, что программист берет готовые объекты (Навигатор, Карусель слайдов и т.д.), заполняет их содержимым, регистрирует в нужном порядке в массиве и передает указатель на этот массив объекту «BootStrap», который генерирует HTML-файл с адаптивной страницей. По сути, РусскийФокс, начиная с версии 1.12 является программным генератором сайтов, но следует еще показать, как для данного генератора создавать свои объекты, которые можно упаковать в собственный модуль fxp и распространять для других пользователей данного генератора.

Рассмотрим, как самим создавать объекты для объекта BootStrap из одноименного модуля. Модуль Bootstrap содержит в себе несколько объектов, которые могут быть использованы, но их пока явно недостаточно для создания полноценных сайтов. Если для использования объектов вам не потребуется знаний HTML, CSS, JavaScript и PHP, то для создания объектов эти знания потребуются. Но создав объект, можно его распространять без исходных кодов на Русском Фоксе (расширение «RUS»), а в виде модуля «fxp».

Рассмотрим образец простого объекта, который можно регистрировать в объекте «BootStrap». Этот объект будет содержать только HTML-код и CSS-код не будет иметь JavaScript-кода. Данный объект будет выводить вертикальное меню.

ОПРЕДЕЛИТЬ_ОБЪЕКТ НавМенюВертикальноеОдинУровень2 КАК BootStrap_Объект
    СписокПунктов = ПУСТО     
    Ширина = '300px'          
    ЦветФона = '#000032'          
    ЦветСимволов = '#FFFFFF'  
    ЦветАктивФона = '#711515'   
    ФУНКЦИЯ ПолучитьCSS()     
      ЛПЕРЕМ СтрокаВ, ИмяОбъекта
        ЕСЛИ НЕ ТипЗнч(ЭТОТ_ОБЪЕКТ.Ширина) == 'Строка'
              Предупреждение('В объекте НавМенюВертикальноеОдинУровень Свойство Ширина имеет строковый тип. '+;
                                                                           'Следует присваивать строку типа "200px" ')
          ВОЗВРАТ ""
        КОНЕЦЕСЛИ;
        ИмяОбъекта = ЭТОТ_ОБЪЕКТ.Имя
        СтрокаВ = ' #'+ИмяОбъекта+' { Ширина: '+ЭТОТ_ОБЪЕКТ.Ширина+'; } #'+ИмяОбъекта+;
                                ' ul { Список-Стиль: none; Поле: 0; Отступ: 0; }'
        СтрокаВ = СтрокаВ+' #'+ИмяОбъекта+' li { border-bottom: 1px solid #ED9F9F; } #'+ИмяОбъекта+' li a:link, #'+;
                 ИмяОбъекта+' li a:visited { font-size: 90%; display: block; padding: 0.4em 0 0.4em 0.5em; border-left: 12px solid #711515;'+;
          '  border-right: 1px solid #711515; background-color: '+ЭТОТ_ОБЪЕКТ.ЦветФона+'; color: '+ЭТОТ_ОБЪЕКТ.ЦветСимволов+;
           '; text-decoration: none; } #'+ИмяОбъекта+' li a:hover { background-color: '+ЭТОТ_ОБЪЕКТ.ЦветАктивФона+;
                         '; color: #FFFFFF; }'
          СтрокаВ = СтрокаВ+ЭТОТ_ОБЪЕКТ.ТекстCSS
          СтрокаВ = ЭТОТ_ОБЪЕКТ.BootStrap.ФункцииCSS.ПереводИзРусCSS(СтрокаВ) 
          ЭТОТ_ОБЪЕКТ.BootStrap.ФункцииCSS.КорректныйCSS(СтрокаВ)  
        ВОЗВРАТ СтрокаВ
    КОНЕЦФУНКЦИИ
    ФУНКЦИЯ ПолучитьОбъект()
     ЛПЕРЕМ СтрокаВ, Значение, Номер, Команда
     СтрокаВ = '<div id="'+ЭТОТ_ОБЪЕКТ.Имя+'"><ul>'
          ЕСЛИ ТипЗнч(ЭТОТ_ОБЪЕКТ.СписокПунктов)=='Объект'
            ДЛЯ Номер=1 ПО ЭТОТ_ОБЪЕКТ.СписокПунктов.Количество()
              Значение = ЭТОТ_ОБЪЕКТ.СписокПунктов.Получить(Номер)
              Команда = ОбъектСтрока.Между_Символами(1, Значение, '|')  
              Значение = ОбъектСтрока.Между_Символами(2, Значение, '|')  
              СтрокаВ=СтрокаВ+'<li><a href="'+Команда+'" >'+Значение+'</a></li>'
            КОНЕЦЦИКЛА;
          КОНЕЦЕСЛИ;  
     СтрокаВ = СтрокаВ+'</ul></div>'
     ВОЗВРАТ СтрокаВ+ЭТОТ_ОБЪЕКТ.ТекстHTML
   КОНЕЦФУНКЦИИ
КОНЕЦ_ОПРЕДЕЛЕНИЯ_ОБЪЕКТА

Важно, чтоб такой объект был наследником объекта «BootStrap_Объект». Затем мы своему объекту добавляем нужные свойства и переписываем методы ПолучитьОбъект() и ПолучитьCSS(). Оба этих метода должны возвращать строки, первый код HTML, а второй код CSS. Разберем формирование кода CSS.

В предке нашего объекта «BootStrap_Объект» есть свойство «Имя» оно может быть переопределено, но изначально присваивается при инициализации и уникально. Вы можете его посмотреть командой Сообщить(ЭТОТ_ОБЪЕКТ.Имя) Если желаете его переопределить то следует это делать в начале метода ПолучитьCSS(), так как этот метод выполняется первым. Другой более сложный способ переопределить имя — это переписать метод ПРИ_ИНИЦИАЛИЗАЦИИ_ОБЪЕКТА(), в котором присваивать свое имя объекту.

В данном случае имя объекта мы используем как id

<div id="'+ЭТОТ_ОБЪЕКТ.Имя+'">

Но можем использовать и как имя класса, переделав код.

Для переменных, которые мы хотим дать возможность изменять пользователю данного объекта, мы создаем свойства (в данном примере созданы Ширина, ЦветФона, ЦветСимволов, ЦветАктивФона, СписокПунктов) Ширина — это ширина объекта, ЦветАктивФона — это цвет при наведении мышки на строку меню. СписокПунктов — это массив строк с командами нашего меню, который мы создаем данным объектом. В каждой строке данного массива через разделитель «|» будут записаны команда, вызываемая при нажатии строки меню, и текст в строке меню, который увидит пользователь.

Для примера, часть CSS-кода написано на русском (Ширина:, Список-стиль:, Поле: Отступ: ). Эти русские названия вновь заменяются на латинские в функции ПереводИзРусCSS(СтрокаВ). В архиве RusFox_v1_11.rar имеется текстовый файл, где вы можете посмотреть русскоязычные аналоги CSS-операторов и применять их, если считаете такой код более читабельным.

Конструкция ЭТОТ_ОБЪЕКТ.BootStrap.ФункцииCSS.ПереводИзРусCSS(СтрокаВ) означает, что у даного объекта (ЭТОТ_ОБЪЕКТ) имеется указатель в свойстве Bootstrap на объект (это указатель на головной объект Bootstrap, он заполняется после регистрации вашего объекта в объекте Bootstrap), у того объекта (Bootstrap) имеется указатель на объект «ФункцииCSS» (этот объект создается при создании объекта Bootstrap), а у объекта «ФункцииCSS» есть метод ПереводИзРусCSS(), который мы вызываем в данном коде. Так осуществляется доступ к функциям модуля Bootstrap. Хотя вы можете создать и новый объект «ФункцииCSS» и через глобальный указатель вызывать функции из объекта «ФункцииCSS»

В результате, при использовании нашего объекта мы пишем такой код

    ФУНКЦИЯ НавигационноеМенюВертикальноеОдинУровень
     ЛПЕРЕМ Меню, Меню2
      Меню = НовыйМассив(1)
      Меню.Добавить("|#|Пункт1|")  
      Меню.Добавить("|#|Пункт2|")  
      Меню.Добавить("|#|Пункт3|")  
      Меню.Добавить("|#|Пункт4|")  
      Меню2 = НовыйОбъект("НавМенюВертикальноеОдинУровень2") 
      Меню2.СписокПунктов = Меню
      Меню2.Ширина = '300px'
      ВОЗВРАТ Меню2    
    КОНЕЦФУНКЦИИ

Вид возвращаемой строки с CSS-кодом зависит от свойств объекта, которые можно переопределять после создания данного объекта до его использования объектом «BootStrap».

Несколько сложнее формируется строка HTML, так как ее окончательный вид зависит от массива строк переданных объекту, на который указывает свойство «СписокПунктов».

В каждой строке массива «СписокПунктов» содержатся два значения, разделенные символом «|» : команда, выполняемая при выборе пункта меню, текст строки меню.

Значение = ЭТОТ_ОБЪЕКТ.СписокПунктов.Получить(Номер)

Команда = ОбъектСтрока.Между_Символами(1, Значение, '|')

Значение = ОбъектСтрока.Между_Символами(2, Значение, '|')

В функции мы получаем каждый элемент массива по очереди методом Получить(Номер). Затем забираем первое значение через функцию Между_Символами() и второе значение. После чего для каждой строки меню формируем HTML-код

СтрокаВ=СтрокаВ+'<li><a href="'+Команда+'" >'+Значение+'</a></li>'

К возвращаемой строке добавляется строка из свойства «ТекстHTML», чтоб при использовании вашего объекта можно было добавить свой HTML-код

ВОЗВРАТ СтрокаВ+ЭТОТ_ОБЪЕКТ.ТекстHTML

Аналогично, добавляется строка из свойства «ТекстCSS» для добавления в объект кодов CSS.

Если вам надо добавить JS-коды, то аналогично переопределяйте метод ПолучитьJavaScript() в в своем объекте. В возвращаемую строку так же добавляйте свойство «ТекстJavaScript».

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

Наименование Файл Версия Размер
Создаем объекты для модуля Bootstarp на Русском Фоксе:

.rar 17,02Mb
0
.rar 17,02Mb Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 126 20.08.18 16:31 Сейчас в теме
0 плюсов
0 скачиваний
0 комментариев

При всем уважении к автору, отсутствие обратной связи это тоже обратная связь.
2. w22u 30 28.08.18 15:42 Сейчас в теме
С дач и отпусков люди вернутся и этот материал наверняка будет интересен всем.
)))
Steelvan; +1 Ответить
3. pvlunegov 174 19.04.20 21:26 Сейчас в теме
Класс! Мне очень нравится технологический подход к разработке сайта.
Во первых русский синтаксис, во вторых, объектный подход к генерации контента.
Возможность алгоритмической генерации элементов html css из содержимого контента для сайта.
Возможность создания веб-сервисов, которые генерируют html содержимое динамически, по запросам.
andreosh; +1 Ответить
Оставьте свое сообщение

См. также

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5 Промо

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    9649    27    huxuxuya    11    

Как правильно удалять данные из больших массивов

Практика программирования Универсальные функции Абонемент ($m)

Как правильно удалять данные из больших несортированных массивов

1 стартмани

15.02.2021    2437    0    Def.Gh    14    

Интерактивная справка по объектам 1С (подключаемое расширение)

Практика программирования Работа с интерфейсом v8 ERP2 Абонемент ($m)

База знаний, подключаемая к объектам основной базы. Пополняется интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.

3 стартмани

29.09.2020    15351    78    sapervodichka    45    

Загрузка файлов на сервер с использованием HTTP-сервиса 1С (multipart/form-data).

Практика программирования WEB Абонемент ($m)

Вариант загрузки файлов в составных данных методом POST (multipart/form-data) на примере демонстрационной базы.

1 стартмани

12.08.2020    10076    20    ltfriend    5    

Вам нравятся запросы в 1С? Промо

Практика программирования Разработка v8 v8::Запросы 1cv8.cf Абонемент ($m)

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    28140    7    m-rv    91    

Конвертация PDF в 1С

Практика программирования Разработка внешних компонент Абонемент ($m)

COM-компонента для работы с PDF (32/64 bit)

4 стартмани

31.03.2020    16582    65    SerVer1C    105    

Распаковка хранилища значений средствами MS SQL Server

Практика программирования Абонемент ($m)

Способ извлечения данных из 1С-ного "ХранилищеЗначений" в MS SQL Server с помощью самописной скалярной функции (без использования платформы 1С).

1 стартмани

23.09.2019    9853    4    SerVer1C    11    

Конвейер проверки качества кода

Инструментарий разработчика Практика программирования Математика и алгоритмы Jenkins SonarQube v8 1cv8.cf Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    37332    27    Stepa86    46    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") Промо

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    37039    96    m-rv    58    

Расширяем возможности MS SQL Server с помощью хранимых процедур CLR

Практика программирования Разработка Абонемент ($m)

Не хватает какого-то функционала на скуле для обработки данных? Тогда он (новый функционал) идет к вам.

1 стартмани

02.09.2019    11349    1    SerVer1C    9    

Перфолента, первое знакомство. Новый язык программирования

Практика программирования Инструментарий разработчика Абонемент ($m)

Первое знакомство с новым языком программирования Перфолента. В статье описано назначение языка, причины его появления, основные характеристики и возможные варианты использования.

22.07.2019    24593    0    Perfolenta    165    

Настраиваемое мобильное приложение для сканирования штрихкодов

Практика программирования Сканер штрих-кода Мобильная разработка Абонемент ($m)

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

1 стартмани

14.01.2019    12856    6    inord777    10    

Заполняем по шаблону (по умолчанию) Промо

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

08.02.2018    35004    20    mvxyz    17    

Работа с публикациями "Инфостарт"

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    28890    14    RocKeR_13    16    

HTTP Сервисы: Путь к своему сервису. Часть 3

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    54917    68    dsdred    17    

РусскийФокс и BootStrap

Практика программирования Россия Абонемент ($m)

РусскийФокс вносит новый технологический подход в сайтостроение. Теперь вы можете ограничиться знанием Русского Фокса и не иметь знаний по HTML, CSS, JavaScript, PHP, чтоб создавать сайты.

1 стартмани

16.08.2018    8696    1    andreosh    18    

Нечеткий поиск одним запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

28.12.2015    34845    74    vasvl123    9    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    36656    31    informa1555    30    

РусскийФокс. Изменение DBF-файла и назначение командных клавиш

Практика программирования Файловые протоколы обмена, FTP Россия Абонемент ($m)

- Шарапов, ты Русского Фокса знаешь ? - Конечно, Глеб. Я же программирую на Русском Фоксе. РусскийФокс (1C-подобный язык программирования) создает DBF-файлы и выгружает данные из DBF в XML.

1 стартмани

01.08.2018    8236    0    andreosh    2    

РусскийФокс. Создание DBF-файла, выгрузка в XML.

Практика программирования Россия Абонемент ($m)

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. . РусскийФокс создает DBF-файлы и выгружает данные из DBF в XML. Голосуйте за доклад о РусскийФокс на Инфостарт.

1 стартмани

28.07.2018    8134    2    andreosh    0    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут Промо

Практика программирования v8 Абонемент ($m)

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    55172    36    Demanoidos    60    

РусскийФокс и ClickerMann заносят данные в 1С

Сервисные утилиты Практика программирования Россия Абонемент ($m)

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. . РусскийФокс создает сценарии для Clickermann. Сценарий заполняет справочник в 1С.

1 стартмани

21.07.2018    14104    1    andreosh    20    

Работа с данными выбора

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

В управляемом интерфейсе заложена мощная возможность описывать связи реквизитов формы через параметры. Установка параметров связей позволяет ограничить выбор данных так, чтобы целостность данных была обеспечена на этапе ввода. Однако без дополнительного программирования задать можно только самые простые связи. Такие условия связи, как зависимость от реквизита через точку или зависимость через дополнительное отношение, заданное в регистре сведений - уже задать без программирования не получится.

1 стартмани

17.07.2018    67568    25    kalyaka    17    

РусскийФокс и OpenOffice, а также исследование объектов

Практика программирования Россия Абонемент ($m)

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. . Взаимодействие с OpenOffice. GitHub https://github.com/UfaScript/RusFox

1 стартмани

12.07.2018    8592    1    andreosh    2    

Быстрое определение интервалов в запросе Промо

Практика программирования v8 Абонемент ($m)

В статье описывается новый метод определения интервалов между данными различных записей в запросе. В отличие от общеизвестного метода, время работы предлагаемого метода зависит от объема данных ЛИНЕЙНО. Это обеспечивает ему значительный выигрыш по быстродействию на больших объемах данных. В качестве иллюстрации возможностей метода приведен отчет, показывающий гистограмму распределения времени между продажами.

1 стартмани

01.10.2015    61096    35    ildarovich    41    

РусскийФокс — 1С-подобный язык программирования

Практика программирования Математика и алгоритмы Россия Абонемент ($m)

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. Знакомство.

1 стартмани

03.07.2018    13508    1    andreosh    50    

Полезные примеры составления схемы компоновки данных #2

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Еще один набор примеров как решить частные задачи в СКД

1 стартмани

22.05.2018    40841    11    SITR-utyos    13    

Длинная арифметика (Bignum arithmetic) c COM-интерфейсом (ActiveX) на библиотеках MPIR

Инструментарий разработчика Практика программирования Россия Абонемент ($m)

Расчеты любой точности в вашем программном продукте, поддерживающем стандарт COM. Размер/точность длинного числа зависит только от вашей оперативной памяти. Проект основан на исходниках библиотеки MPIR, Edition 3.0.0. Полностью написан на С/С++ (COM.DLL).

1 стартмани

12.04.2018    8746    1    bedvit    4    

Хранение файлов в томах на диске (для УПП 1.3) Промо

Практика программирования v8 УПП1 Абонемент ($m)

Доработка типовой УПП 1.3 в плане хранения присоединенных файлов вне базы данных

2 стартмани

05.06.2016    68111    12    wowik    32    

Веб-разработка на 1С (1Script)

Практика программирования Абонемент ($m)

Дорогие коллеги, под новый год хочется сделать небольшой сюрприз. Я уже два года обещаю сделать движок веб-разработки для 1С-ников, и вот, наконец, есть что показать. Этим новогодним постом я открываю сериал "Веб-разработка для 1С-ников". Все, кто знаком с проектом OneScript – добро пожаловать! Остальные, тоже не стесняйтесь!

1 стартмани

28.12.2017    33347    22    Evil Beaver    82    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

Практика программирования Универсальные печатные формы v8 БП3.0 Абонемент ($m)

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

1 стартмани

06.12.2017    33366    60    kwazi    6    

Паузы при исполнении кода (Sleep для 1С)

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.11.2017    68478    18    swimdog    55    

Telegram-боты

Практика программирования v8 Абонемент ($m)

Описание теории, разбор архитектуры и пример реализации telegram-ботов. Сразу скажу, со структурированием изложения мало что могу поделать. :) редакция от 18.07.2018 Правки последней редакции выделены жирным.

1 стартмани

01.09.2017    42614    149    PLAstic    69    

Программа для изменения осей движения мыши - IMouse

Практика программирования Периферийные устройства Россия Абонемент ($m)

Программа предназначена для изменения движения курсора мыши.

1 стартмани

10.08.2017    15856    4    GubinDenis    19    

Умный дом на 1С + ардуино

Практика программирования v8 Абонемент ($m)

Конфигурация для автоматизации быта программиста 1C и не только. В данной статье будет рассказано, как можно использовать 1С для задач, не входящих в стандартные рамки этой платформы. Например, управление домом. В качестве периферии для подключения будет использован микроконтроллер (МК) Ардуино, но на нём не будет никакой логической нагрузки, весь процесс будет проходить на сервере 1С. Работа с пинами ввода/вывода происходит напрямую из 1С.

1 стартмани

07.08.2017    28306    21    sasha777666    64    

Расширения конфигураций 1С: учимся перехватывать методы

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

30.05.2017    167126    13    signum2009    49    

СКД. Использование встроенного макета, разделителя страниц

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

Пример работы с макетом СКД для начинающих программистов. За основу взят справочник подразделений, который есть в большинстве конфигураций. Показано, как вывести заголовок, детальные записи, подвал группировки и общий подвал. Приведен пример вставки разделителя страниц. Отчет можно использовать в любой конфигурации 1С: 8.

1 стартмани

31.03.2017    18625    19    Vin_Tik    0    

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.03.2017    39300    123    romasna    52    

Распознавание текста с помощью нейросетей Google Cloud Vision и 1С

Практика программирования v8 1cv8.cf Абонемент ($m)

Возможности Google Cloud Vision в распознавании текста.

1 стартмани

08.02.2017    38912    151    kiv1c    19    

Графическая схема. Управление при помощи XDTO.

Практика программирования v8 Абонемент ($m)

В статье описывается методика программного управления элементами графической схемы при помощи механизма XDTO. Приложена готовая к использованию библиотека функций для создания и удаления графических объектов, а также для связи элементов схемы соединительными линиями.

2 стартмани

16.01.2017    29615    128    Alxby    25    

Несколько шаблонов для доработки типовых конфигураций

Практика программирования Инструментарий разработчика v8 v8::УФ Абонемент ($m)

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

1 стартмани

03.10.2016    42082    98    json    25    

Полезные процедуры по работе с СКД и табличными документами (часть 2)

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

Еще несколько универсальных процедур

1 стартмани

27.09.2016    36034    36    json    19    

Редактирование табличной части объекта с помощью СКД

Инструментарий разработчика Практика программирования v8::СКД 1cv8.cf Россия Абонемент ($m)

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

2 стартмани

16.09.2016    33474    119    Hatson    30    

Полезные процедуры по работе с СКД и табличными документами (часть 1)

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

03.09.2016    69114    106    json    25