Визионное программирование

Публикация № 1056403

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

Новый способ программирования и его практическая демонстрация.

Вы наверняка слышали о т.н. "визуальном программировании". Лично у меня этот термин всегда вызывал легкое недоумение. Я прекрасно знаю - что это такое. Но все же. Если новый способ предлагает нам программировать визуально, то как же мы программируем сейчас? На ощупь? Как по мне, так любое программирование визуально. Еще этот способ называют программированием без программирования. И это, наверное, еще хуже. То есть, вопрос ставится так:

можно ли заниматься программированием, не занимаясь программированием?

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

можно ли заниматься программированием, не занимаясь ерундой

Этот вопрос уже не абсурден. И на него есть ответ.

Все начинается с достаточно банальной мысли: 

программа - это не текст

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

Тут важно понимать, что использование кратковременной памяти - это далеко не высшая форма деятельности. Существуют исследования, которые показывают, что у шимпанзе кратковременная память развита существенно лучше, чем у человека. Это - действительно тупая работа. 

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

Как так вышло? Текст универсален. С его помощью можно выразить почти все. В те времена, когда зарождалось программирование, видимо, никому и в голову не приходило, что программу можно выразить как-то иначе. Кроме того, с полной уверенностью можно сказать, что очень важную (если не определяющую целиком) роль сыграл линейный паттерн, предложенный одним из основоположников программирования Аланом Тьюрингом. Его знаменитая машина, машина Тьюринга, представляет собой нечто ползущее по ленте с бесконечным количеством ячеек и выполняющее шаг за шагом простейшие действия. Как математическая абстракция, машина Тьюринга важна. Мы используем ее, чтобы доказать, что наше вычислительное устройство действительно может вычислять. Но, наверно не стоило воплощать эту математическую абстракцию так буквально. Есть такой особый язык программирования, который воспроизводит машину Тьюринга, как она есть. Создатель языка дал ему вызывающее имя - Brainfuck. Можно подумать, что все прочие языки программирования не Brainfuck. Как бы не так! Со времен Тьюринга мы используем в программировании линейный паттерн и поэтому можно сказать, что мы все пишем свои программы на чуть менее или чуть более удобных разновидностях Brainfuck. 

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

Новый способ программирования заключается в том, чтобы предоставить разработчику возможность записывать иерархические структуры каким-либо способом. Если вы достаточно долго работали с 1С и много общались с пользователями, тогда вы наверняка заметили: с каким энтузиазмом (подчас совершенно излишним, если не вредным) они занимаются созданием "папочек" и "папочек внутри папочек" в различных списках (товары, клиенты и т.п.) Это показывает нам, что такого рода работа естественна для человеческого мышления. Нам остается только предусмотреть возможность создавать группы двух типов: обычные и повторяющиеся по каким-либо правилам. А также дать возможность для любой группы указать простое или исключительное условие. И наш инструмент программирования готов. Можно показать, что машина Тьюринга воспроизводится этим инструментом. А значит - он обладает всеми теми возможностями, что и все прочие языки программирования.  

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

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

//infostart.ru/public/707283/

Результатом будет комплект файлов декларации, готовый для передачи в налоговый орган. Декларация по налогу на добавленную стоимость состоит из трех файлов: книга покупок, книга продаж и собственно декларация. Поэтому добавим три группы типа A(assemble)

 

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

 

Зайдем внутрь группы "Книга покупок" и создадим там группу "Файл", а внутри группы "Файл" группу "Документ".

 

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

Внутри группы "Документ" создадим группу типа R(repeat). R-группа - это повторяющаяся группа. В процессе того, что в традиционном программировании называется выполнением программы, а я называю трэкингом, группа типа A превращается в такую же одиночную группу. А группа типа R размножается и превращается во множество групп, в соответствии с тем, что задано в качестве итератора в свойстве "Источник".

 

 

В свойстве "Источник" здесь указан регистр накопления "НДСЗаписиКнигиПокупок". То, что указано в этом свойстве далее, после запятой, связано с особенностями текущей реализации ART. Там соединение таблицы регистра с таблицами документов, что легко может быть заменено на обращение через точку. Не обращайте на это внимание. Свойство "Отбор" и функция "СУММА()", я думаю, не нуждаются в комментариях.

Внутри группы "КнигаПокуп" создадим две группы типа A с одним и тем же именем: "КнПокСтр". Для каждой из этих групп зададим свойство "Условие". Группа с условием отрабатывает и появляется в трэкинге только при выполнение условия(условий). В рабочей области группа с условием выделяется бледным цветом.

 

Внутри группы "КнПокСтр" разместим четыре группы A: "КодВидОпер", "ДатаУчТов", "СвПрод", "Расчеты".

 

 

 

Первые две группы отличаются тем, что они не содержат ни свойств (имя не в счет), ни подчиненных групп. Вместо этого, внутри этих групп, в рабочем поле разместим выражения.

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

 

 

Внутри группы "СвПрод" разместим две группы A с условиями

Группа "Расчеты" имеет одну особенность. Этой группы нет в схеме налоговой декларации. Соответственно, ее не должно быть в файле результата. Но она нам нужна для вычисления величины, которую мы потом используем в группе "Декларация". Эта проблема решается добавлением специального свойства под названием "СКРЫТЬ".

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

То же самое можно сказать о группе "Книга продаж". Она также является почти точной копией группы "Книга покупок".

 

В группе "Декларация" создадим иерархию групп, соответствующую схеме.

 

И заполним их свойства также очевидным образом. Например, так:

 

Декларация готова. Запустим процесс трэкинга и получим представление декларации в рабочей области, а также набор файлов с правильными (с точки зрения разработчиков схемы) именами.

Обратите внимание. Если вам сейчас кажется все простым и понятным, то это вовсе не потому, что я выбрал слишком простую задачу для демонстрации нового способа программирования. Мне доводилось делать декларацию по НДС на седьмой версии 1С.  И там это заняло около 1000 строк кода. А если вы возьмете реализацию этой же задачи в типовой конфигурации "Бухгалтерия предприятия", то там будут все 25 тысяч строк кода. И это еще без учета общих модулей.

Задача кажется простой, потому что новый способ программирования не создает сложностей на пустом месте. Это - не visual программирование. Это - vision программирование.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
106. vadim1011985 86 22.06.20 14:10 Сейчас в теме
(105) ещё раз , зачем мне структура разбитая на мелкие действия ? Я уже привёл пример на загрузки данных . Есть первый пункт - я пишу код по чтению файла 2) загрузка в ТЧ - пишу код по загрузки данных в ТЧ и все необходимые дополнительные процедуры
И т.д.
107. mkalimulin 450 22.06.20 14:33 Сейчас в теме
(106) Вы мыслите структурно. У вас в голове несколько крупных пунктов. Их вы обдумываете. Потом вы переходите к конкретному пункту. И тут история повторяется. У вас в голове следующие несколько чуть более мелких, но все еще крупных подпунктов. И так далее.
Суть в том, что для написания программы традиционным способом, вам придется выйти из мира структур и заняться сериализацией. А в ART вам покидать мир структур не надо.
89. vadim1011985 86 22.06.20 01:48 Сейчас в теме
(87) вам уже приводили сравнение с html редактором , вот у вам тоже самое . Добавили блок (Только у вас их 2 вида) - добавили тег(а тут побольше разнообразия) , и там и там можно управлять параметрами и видишь структур . Только почему-то никто не считает html -редактор каким-то отдельным ЯП
91. mkalimulin 450 22.06.20 02:36 Сейчас в теме
(89) Вы уже раз пять повторили "то же самое". Попробуйте не искать аналогии, а вникнуть в саму идею.
92. vadim1011985 86 22.06.20 08:37 Сейчас в теме
(91) ну так вы опровергните это утверждение , вы просто ушли от вопроса так как опровергнуть это не можете вот и все .
94. mkalimulin 450 22.06.20 11:37 Сейчас в теме
(92) html не обладает полнотой по Тьюрингу
97. vadim1011985 86 22.06.20 11:58 Сейчас в теме
(94) Да что вы привязались к этой полноте ? Полнотой по тьюрингу обладает не ваша обработка а 1с из-под которой запускается эта обработка - не будет 1с вашу обработку можно выкинуть , то что не может сделать 1с не сможет и Ваша обработка .
99. mkalimulin 450 22.06.20 12:56 Сейчас в теме
(97) С таким же успехом можно говорить, что полнотой по Тьюрингу обладает не 1С а компьютер. Не будет компьютера, 1С можно выкинуть. Задействуйте абстрактное мышление.
Есть идея, а есть ее конкретная реализация. Не путайте эти две вещи. Есть, например, html. Его можно реализовать на разных платформах. Но где бы вы его не реализовали, он не будет Тьюринг полным. И есть ART. Его тоже можно реализовать на какой угодно платформе. И где бы вы его не реализовали, он будет Тьюринг полным.
108. palsergeich 23.06.20 01:39 Сейчас в теме
Штука может и прикольная, но у меня после УХ контузии вызывает сомнение возможность сделать каким либо конструктором производительный код.
Как показала практика - ради универсальности всегда страдает производительность и часто сильно.
А тут уже в примерах по 3-4 точки (уровня дерева, но сутиэто не меняет), достаточно 1-2 поля составного типа посередке что бы стало плохо.
А еще я себе представляю число уровней абстракции и становится плохо.
farukshin; +1 Ответить
109. mkalimulin 450 23.06.20 09:47 Сейчас в теме
(108) Производительность - это вопрос реализации. Нет никаких принципиальных ограничений сделать ART таким же быстрым, как C например.
Количество уровней иерархии - оно у вас изначально есть. Это то, что вы имеете на входе при решении какой-либо задачи. Только при традиционном подходе, вы эту иерархию развернете в простыню с бесчисленными пометками: ходи туда, ходи сюда. А если будете использовать ART, то вы останетесь в естественной среде.
110. starik-2005 2325 23.06.20 13:41 Сейчас в теме
На всякий случай прочитал все посты и и материалы, но до сих пор задача о рюкзаке не отметилась в списке решенных. Есть движения? А то я даже на ассемблере ее уже написал - быстро работает, собака! ))) Получается, что разработка на ассемблере более быстрая, чем визионное программирование? Или я что-то упустил?
111. mkalimulin 450 23.06.20 14:48 Сейчас в теме
(110) Нет, не пропустили. Я сейчас готовлю новую статью, где будут машина Тьюринга и задача о рюкзаке. Текучка не позволяет сделать быстрее.
Насчет того, что быстрее, а что медленнее в статье тоже будет.
Оставьте свое сообщение

См. также

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    80978    Serginio    113    

Снежинка для запроса

Практика программирования Россия Бесплатно (free)

В запросах использование * позволяет выбрать все поля. В пакете запросов этот символ мог бы быть очень востребован при обращении к полям таблиц промежуточных результатов, да и при полных выборках тоже. Однако конструктор его не поддерживает, а в тексте его использование может приводить к появлению дублей полей. Реализовать собственный вариант работы с символом позволяет "Схема запроса".

вчера в 08:54    214    kalyaka    0    

Полезные примеры СКД, ч.2

Практика программирования v8 v8::СКД Бесплатно (free)

Еще несколько примеров решения задач в СКД.

06.04.2021    5924    Neti    7    

Полезные примеры СКД, ч.1

Практика программирования v8::СКД Бесплатно (free)

Подборка видео по решению различных задач в отчетах на СКД.

30.03.2021    7921    Neti    18    

Звуковое управление в 1С 8.3 Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021    4129    velemir    31    

Обзор полезных методов БСП 3.1.4

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

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

25.03.2021    22621    rayastar    49    

Повышение качества разработки. Статья 4. Почему код становится плохим, и как с этим бороться

Практика программирования Методология управления разработкой Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Статья 4. Эта статья посвящена причинам возникновения проблем с качеством кода и методикам их преодоления.

22.03.2021    1210    Артано    5    

Telegram бот на PHP

Практика программирования Бесплатно (free)

Сделаем простого Telegram бота на PHP.

01.03.2021    5116    John_d    8    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

Универсальные функции Практика программирования v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    6030    comol    31    

«Варп-двигатель» для «среза последних»

Практика программирования Бесплатно (free)

Решение, позволяющее получить данные, аналогичные "срезу последних" на два порядка быстрее.

10.08.2020    3572    hobi    49    

Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика

Практика программирования Бесплатно (free)

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

29.06.2020    11786    WildHare    33    

Не спеша, эффективно и правильно – путь разработки. Часть 2. Теория

Практика программирования Бесплатно (free)

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

22.06.2020    12111    WildHare    23    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

10.12.2016    39313    unichkin    74    

Не спеша, эффективно и правильно – путь разработки. Часть 1. Парадигма

Практика программирования Бесплатно (free)

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

15.06.2020    18483    WildHare    34    

JSON в запросах DaJet QL

Практика программирования Бесплатно (free)

Практические примеры работы с JSON непосредственно в языке запросов. Перенос курсов валют между УТ и БП. Требуется SQL Server 2016 и выше.

24.04.2020    4266    zhichkin    6    

Использование машинного обучения для решения инцидентов. Практическое применение

Практика программирования Бесплатно (free)

Продолжаю (и заканчиваю) тему с автоматическим решением инцидентов. Перейдем от теории к практике.

25.02.2020    4724    Repich    9    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    33692    tormozit    105    

Использование машинного обучения для решения инцидентов

Практика программирования Бесплатно (free)

История о том, как я с помощью машинного обучения сокращал затраты на техподдержку.

18.02.2020    7604    Repich    17    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    50107    ids79    26    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    35834    John_d    22    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    80680    tormozit    131    

Часовой на страже логов

Практика программирования Инструментарий разработчика Бесплатно (free)

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    8616    Scorpion4eg    8    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    28399    kuzyara    38    

Полезные процедуры и функции для программиста

Практика программирования Универсальные функции v8 1cv8.cf Россия Бесплатно (free)

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

07.10.2019    35775    HostHost    41    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    51728    tormozit    51    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    45899    Yashazz    50    

СКД. Отчеты с картинками

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Бесплатно (free)

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    28404    YPermitin    47    

СКД не только для отчетов

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

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

18.09.2019    20906    YPermitin    36    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    48315    tormozit    74    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    19067    feva    43    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    81048    rpgshnik    70    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    66179    ids79    55    

Развитие 1С программиста Промо

Практика программирования Личная эффективность Бесплатно (free)

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    23822    pashamak    64    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    38514    YPermitin    25    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    28300    YPermitin    81    

Приватный блокчейн и 1С популярно

Практика программирования Блокчейн Бесплатно (free)

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

02.09.2019    6715    mkalimulin    140    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16882    m-rv    3    

Кодогенерация и метагенерация в 1С

Практика программирования Инструментарий разработчика Бесплатно (free)

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    9425    kirovsbis    28    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    40194    ids79    19    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    125791    ids79    73    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    21589    m-rv    17    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

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

02.08.2019    51213    avalakh    26    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    89190    ids79    14    

Как проводятся документы в типовых конфигурациях от 1С

Математика и алгоритмы Практика программирования Разработка v8::ОУ ERP2 УТ11 Россия УУ Бесплатно (free)

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    33025    skv_79    35    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

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

01.06.2018    34042    m-rv    22    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    43405    ids79    27    

Интеграция сценарного тестирования в процесс разработки

Практика программирования Инструментарий разработчика Бесплатно (free)

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    9929    grumagargler    7    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    20924    SeiOkami    52    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    29489    itriot11    34    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    67169    ids79    27    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    28597    dmurk    148