Калякин Андрей

1071
Рейтинг

kalyaka
Андрей Калякин



  •   Регистрация: 12.09.2007 (16 лет назад)

  •   Был(а) на сайте: сегодня в 12:28

Друзья
  • Алексей Жучков
  • Alex Bee
  • Pavel Komarov
  • Дмитрий Малышев
  • Роман Браславский
  • Alex Krylosov
  • Владимир Ёлохов
  • Антон Болтушкин
  • Евгений Комиссаров
  • Дмитрий Синичников
  • Егор Владимирович
  • Анна Копецкая
  • Pavel Parshin
  • Сергей Левкин
  • Григорий Шатров
  • Иван Карло
Подписчики 69

Группы

Профессиональный разработчик

IE 2019 Участник

Участник Meetup

Рейтинг 1071

Абстрактные типы, множества, очереди. Примеры использования

Статья Программист Платформа 1С v8.3 Россия Абонемент ($m) Архив с данными Математика и алгоритмы

В последнем обновлении библиотеки АТДМассив появились множества и очереди. В рамках практического примера создания вычислителя выражений демонстрируется применение этих новых абстрактных типов в сочетании с уже ранее представленным абстрактным массивом.

1 стартмани

22.04.2024    1287    1    kalyaka    2       

13

Какой взять кредит, чтобы не платить проценты?

Статья Для всех Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free) Нет файла Математика и алгоритмы Займы, кредит, лизинг

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

19.01.2024    1161    kalyaka    16       

9

Ограничения в модели распределения. Переопределение результата

Статья Программист Платформа 1С v8.3 Абонемент ($m) Архив с данными Математика и алгоритмы

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

1 стартмани

07.01.2024    688    2    kalyaka    0       

8

Модель запроса SQL

Статья Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Архив с данными Инструментарий разработчика Запросы

Следующее решение является развитием модели запроса 1С. В этой модели конструируется запрос на SQL с использованием таблиц БД на 1С и внешних источников. Можно использовать все типы запросов: выборка, изменение, удаление. В качестве источника данных можно указать таблицу значений. Работать с запросом SQL из 1С никогда еще не было так просто! :)

1 стартмани

22.06.2023    5310    18    kalyaka    8       

21

Вырожденное состояние и сложность в интерфейсе

Статья Программист Платформа 1С v8.3 Абонемент ($m) Архив с данными Работа с интерфейсом

На примере вырожденного состояния из одного параметра дается представление о рождении сложности интерфейсного представления объекта.

1 стартмани

19.12.2022    1004    1    kalyaka    9       

4

Что не так с таблицами формы?

Статья Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) Механизмы платформы 1С

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

1 стартмани

19.09.2022    2963    2    kalyaka    4       

22

Заполнение объектов в модели MVC

Статья Программист Платформа 1С v8.3 Бесплатно (free) Нет файла Механизмы платформы 1С

Обычно объекты ИБ содержат избыточную информацию. Заполнение объекта может быть интерактивным или из модуля – алгоритмы должны быть одинаковые. Внешние системы должны определять основные реквизиты, а алгоритмы заполнения дополнять все остальные реквизиты зависимые, определяемые текущими бизнес-правилами, служебные.

10.08.2022    3791    kalyaka    0       

5

Модель состояния для MVC

Статья Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Конфигурация (md, cf) Работа с интерфейсом

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3944    4    kalyaka    4       

29

Модель распределения суммы по базе

Инструменты и обработки Программист Платформа 1С v8.3 Россия Абонемент ($m) Конфигурация (md, cf) Математика и алгоритмы

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    7998    7    kalyaka    11       

44

Комментарии

ОбменГлоссарий HTTP аутентификации: Basic, Bearer, OAuth и другие непонятные слова#6 22.04.24 19:19
Спасибо за структурированную подачу материала. Наконец то я понял, что за "медведя" всегда использовал :)
DevАбстрактные типы, множества, очереди. Примеры использования#0 20.04.24 10:25
В последнем обновлении библиотеки АТДМассив появились множества и очереди. В рамках практического примера создания вычислителя выражений демонстрируется применение этих новых абстрактных типов в сочетании с уже ранее представленным абстрактным массивом.
DevМодель состояния для MVC#4 08.04.24 8:22
(3) Мне, как профессиональному разработчику, понятна тема. Но вновь прочитывая статью, чтобы вспомнить контекст, я понимаю, что тема то на самом деле сложная.

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

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

Тут конечно можно возразить, что и при "традиционном" подходе можно вынести все процедуры обработчиков в общий модуль и вызвать их из разных режимов. Но даже в этом случае вам придется писать больше кода, т.к. потребуется некоторая "объвязка" для поддержки разных режимов вызова (интерактивный / система-система). Когда при использовании MVC все эти "объвязки" уже вынесены в отдельный фреймворк и разработчику требуется только встроиться в него.
ОбменИспользование Python при выгрузке в Excel с формулами#4 06.04.24 15:55
Можно прочитать и напрямую из 1С, используя ПостроительDOM и xPath. Для этого необходимо:
1. распаковать xlsx (zip архив)
2. в файлах xml заменить строку "xmlns:=" на "xmlns:_=" - это нужно чтобы работал встроенный в платформу xPath
3. прочитать листы из файла "xl\workbook.xml" по выражению XPath = "//sheet"
4. прочитать нужный лист "xl\worksheets\sheet%1.xml"
5. вначале найти все "зашаренные формулы" по выражению XPath = "//f[@ref]", формула в узле "f", индекс в узле "si"
6. затем найти все формулы в нужной строке XPath = СтрШаблон("//row[@r=%1]", НомерСтроки). При этом если узел "f" пустой, то прочитать атрибут "si" и взять формулу из зашаренных ранее по индексу
DevСимулятор лабиринта на встроенном языке 1С#22 19.03.24 14:51
(16) тоже в школе пробовал через синусы - модель быстро разваливалась из-за ошибок округления. В институте уже через базис - модель стала стабильнее. Здесь вообще просто - трассировка лучей в одной плоскости при очень низком разрешении
DevСимулятор лабиринта на встроенном языке 1С#21 19.03.24 14:32
(10) это просто just for fun :)
DevСимулятор лабиринта на встроенном языке 1С#20 19.03.24 14:22
Сделано просто и элегантно. Вспомнились студенческие эксперименты :), получил удовольствие от просмотра решения.
DevСимулятор лабиринта на встроенном языке 1С#19 19.03.24 14:07
(14) Откуда опыт создания таких движков? Какие интересные решения здесь были использованы? Очень интересно, как Вы до этого дошли :) Что вдохновило?
DevСимулятор лабиринта на встроенном языке 1С#12 19.03.24 9:29
Движок на 1С или на JS?
DevЕсть ли ключ в соответствии#82 02.03.24 14:23
Предлагаю такой вариант решения: завернуть значение ключа в структуру. Т.е. для сохранения значения использовать не само значение, а структуру вида: Новый Структура("Значение", МоеЗначение). Тогда, при извлечении значения, если ключ существует, то значение можно получить из структуры, а если нет - то будет Неопределено. Пример:
Код
Словарь = Новый Соответствие; 
Словарь.Вставить("МойКлюч", Новый Структура("Значение", МоеЗначение)); 

Если Словарь.Получить("МойКлюч") = Неопределено Тогда 
    Сообщить("Ключа нет");
Иначе
    Сообщить("Значение ключа: " + Словарь["МойКлюч"].Значение);
КонецЕсли;