Работа с массивом в функциональном стиле

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

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

Разработка предоставляет программный интерфейс для манипулирования массивом, используя который вы получите возможность альтернативной записи кода для традиционных и новых возможностей. Например так: ФасадМассива.НовыйМассив().Добавить(Элемент1).ПолучитьМассив();

Идея фасада в том, чтобы можно было совершать действия с массивом "пачкой", не размазывая простую по сути операцию на кучу строк.

Не вот так вот:

Результат = Новый Массив();

Результат.Добавить(ЧтоТоОдно);
Результат.Добавить(ЧтоТоДругое);

Возврат Результат;

А так:

Возврат ФасадМассива.МассивИзЭлементов(ЧтоТоОдно, ЧтоТоДругое).ПолучитьМассив();

Такое иногда называют функциональным стилем.

Бонусы при этом следующие:

  • уменьшается количество кода, убираются паразитные повторы имени массива
  • повышается читаемость, лаконичность
  • добавляются возможности не предусмотренные платформой

Ключевые моменты

  1. Работает все это исключительно в рамках встроенного языка и не лезет во внешние по отношению к платформе среды.
  2. Общий модуль помечен как Клиент и Сервер, но на клиенте модуль будет генерировать серверный вызов на каждом шагу.
  3. Код фактически исполняется в момент вызова, т.е. если "остановить" программу между двумя вызавами "Добавить(...)" - первый фактически будет выполнен, второй - нет.

Использование

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

Стартовые функции

  • НовыйМассив - указыват, что нужно создать новый массив для дальнейших операций. Например: ФасадМассива.НовыйМассив()...
  • МассивИзЭлементов - принимает от 1 до 10 параметров и делает из них массив для дальнейших операций. Например: ФасадМассива.МассивИзЭлементов(Перечисления.СтавкиНДС.НДС0, Перечисления.СтавкиНДС.НДС10, Перечисления.СтавкиНДС.НДС20)...
  • УстановитьМассив - устанавливает существующий массив для дальнейших операций, например: ФасадМассива.УстановитьМассив(ДопустимыеСтавкиНДС)...

Промежуточные функции

  • Добавить - добавляет элемент в конец массива. Например: ФасадМассива.НовыйМассив().Добавить("строка1")...
  • ДобавитьВсе - принимает на вход массив элементов и добавляет все его элементы в конец своего массива. Например: ФасадМассива.УстановитьМассив(ДопустимыеСтавкиНДС).ДобавитьВсе(ДополнительныеСтавки)...
  • Вставить - вставляет элемент в указанную позицию (сдвигает существующие элементы вправо). Например: ФасадМассива.НовыйМассив().Добавить("строка1").Вставить(0,"строка2")...
  • Установить - вставляет элемент в указанную позицию (перезаписывает элемент на указанной позиции). Например: ФасадМассива.НовыйМассив().Добавить("строка 1").Установить(0,"новый текст строки 1")...
  • ДляКаждого - выполняет операцию для каждого элемента массива. Например: ФасадМассива.УстановитьМассив(МассивНовыхОбъектов).ДляКаждого("Элемент.Записать()");
  • Отображение - выполняет операцию для каждого элемента массива, записывая результат операции на место исходного элемента. Фактически, так можно "перейти" от массива одних элементов к массиву других, соответствующих им элементов. Например: ФасадМассива.УстановитьМассив(ЗарплатыСНДФЛ).Отображение("Элемент * 0,87");
  • Удалить - удаляет элемент массива с соответствующим индексом. Например: ФасадМассива.УстановитьМассив(МассивНовыхОбъектов).Удалить(0)...
  • Подмассив - получает массив, эквивалентный указанному диапазону исходного массива. Например: ФасадМассива.УстановитьМассив(МассивНовыхОбъектов).Подмассив(0, 1)...
  • Различные - удаляет из массива дублирующие элементы. Например: ФасадМассива.УстановитьМассив(МассивНоменклатуры).Отображение("Элемент.СтавкаНДС").Различные()...

Финишные функции

  • ПолучитьМассив - возвращает массив, полученный в результате выполненных операций. Например: ФасадМассива.МассивИзЭлементов(Перечисления.СтавкиНДС.НДС0, Перечисления.СтавкиНДС.НДС10, Перечисления.СтавкиНДС.НДС20).ПолучитьМассив();
  • ПолучитьЭлемент - возвращает элемент с указанным индексом. Например, ФасадМассива.УстановитьМассив(МассивНовыхОбъектов).ПолучитьЭлемент(0);
  • ПолучитьЭлементИлиЗначениеПоУмолчанию - возвращает элемент с указанным индексом или, если элемента с таким индексом нет - значение по умолчанию. Позволяет задать поведение на случай, если элементов не нашлось. Например: ФасадМассива.УстановитьМассив(СтавкиНДС).ПолучитьЭлементИлиЗначениеПоУмолчанию(0, Перечисления.СтавкиНДС.НДС20)
  • ПолучитьЭлементИлиВызватьИсключение - возвращает элемент с указанным индексом или, если элемента с таким индексом нет - вызвает исключение. Если заведомо известно, что отсутствие элементов - исключительная ситуация - позволяет не проверять наличие элемента отдельно. Например: ФасадМассива.УстановитьМассив(СтавкиНДС).ПолучитьЭлементИлиВызватьИсключение(0, "Ставки НДС не найдены, обратитесь к администратору")

Как уже упоминалось, в базовом варианте, Фасад используется так:
[стартовая функция].[промежуточные функции].[финишная функция]
Например:

ФасадМассива.НовыйМассив().Добавить("строка1").ПолучитьМассив()

Но может иметь смысл и использование фасада без промежуточных функций:

ФасадМассива.МассивИзЭлементов(Перечисления.СтавкиНДС.НДС10, Перечисления.СтавкиНДС.НДС20).ПолучитьМассив();

Также, может иметь смысл фасад без финишной функции:

ФасадМассива.УстановитьМассив(МассивНовыхОбъектов).ДляКаждого("Элемент.Записать()");

Способ записи

Записывать код можно двумя способами, в одну строку:

Результат = ФасадМассива.НовыйМассив().Добавить(Перечисления.СтавкиНДС.НДС20).ПолучитьМассив();

или, если операций много, в несколько строк:

Результат = ФасадМассива.НовыйМассив()
                .Добавить(Перечисления.СтавкиНДС.НДС0)
                .Добавить(Перечисления.СтавкиНДС.НДС10)
                .Добавить(Перечисления.СтавкиНДС.НДС20)
                .ПолучитьМассив();

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

Для тех, кто дочитал до этого места в попытках понять "как, чёрт возьми, работает вся эта чёрная магия???" и не хочет качать конфу - отвечаю: ФасадМассива - это общий модуль. НовыйМассив, УстановитьМассив, Добавить и т.п. - это функции этого общего модуля. "Вытянуть" все функции в одну строчку можно благодара тому, что каждая функция (кроме финишных) возвращает ссылку на свой собственный общий модуль (Возврат Вычислить("ФасадМассива")). А контекст между функциями гуляет через ПараметрыСеанса, закэшированные через повторноиспользуемый модуль (отсюда и хождения на сервер при работе на клиенте).

Удачи!

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

Наименование Файл Версия Размер
Работа с массивом в функциональном стиле:
.cf 15,25Kb
19.06.19
1
.cf 15,25Kb 1 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. DNN13 19 20.06.19 20:17 Сейчас в теме
2. spacecraft 20.06.19 21:05 Сейчас в теме
Идея не нова и имеет право на жизнь.
Только вот, "Такое иногда называю функциональным стилем.", кто fluent стиль называет функциональным?
3. m-rv 805 20.06.19 22:13 Сейчас в теме
(2) спасибо что обратили внимание, там опечатка, по задумке должно было быть "Такое иногда называюТ функциональным стилем"
Идея не нова в разработке вообще или на 1Се кто-то такое уже пилил?
5. spacecraft 21.06.19 07:37 Сейчас в теме
(3) и на 1С тоже пилили. Даже попытки использовать ООП в 1С делали. А уж паттерны использовали неоднократно. На этом же сайте есть статьи.
7. cool99 21.06.19 11:12 Сейчас в теме
(2)
кто fluent стиль называет функциональным

Ты это расскажи тем, кто разработал Linq... лично я в EF предпочитаю именно флюент синтаксис вместо запросного. ИМХО он более нагляден, т.к. действия разбиты на последовательность, что легче читать. Тем более, что само выражение в linq to sql в итоге равно IQuerable, т.е. сам запрос формируется при непосредственном получении данных уже в IEnumerable. Да и с самими коллекциями он используется чаще.
8. spacecraft 21.06.19 12:03 Сейчас в теме
(7) еще раз прочти. Речь про "Функциональный стиль", а не функциональность. Ничего против Fluent interface не имею и он меня устраивает.
4. nicxxx 236 20.06.19 22:21 Сейчас в теме
Плагины для xUnitFor1C посмотрите. Ожидаем.что(переменная).не_().равно(23);
6. m-rv 805 21.06.19 08:42 Сейчас в теме
(4) ага, крутая штука, спасибо. Все это, как я понимаю, аналог джавовского assert, а я отталкивался от stream, так что можно сказать родственные разработки )
9. neikist 21.06.19 13:52 Сейчас в теме
Тоже для себя такое писал когда задолбался от неудобства стандартных методов. Но без функций первого класса и замыканий до функциональщины тут как до луны((
10. kote 505 21.06.19 20:42 Сейчас в теме
(9) (6) функции первого класса
у меня получилось реализовать на 1С
как то) но реакция сообщества как то вселило тоску..

Пишу с телефона, ссылку не скину. Но посмотрите в публикациях, тут есть.
11. neikist 21.06.19 22:23 Сейчас в теме
(10)
Я в итоге решил что проще не мучаться а свалить на язык который все это из коробки поддерживает. Я работаю ради удовольствия а не для того чтобы задолбываться и мучаться.
12. kote 505 22.06.19 19:39 Сейчас в теме
(0) Хождение через ПараметрыСеанста контекста - вот тут я бы уже бросил разработку по избранному Вами пути, т.к. в серьёзном проекте это будет источником постоянных проблем..

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

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

Контекст должен быть.. не вот так -> ДОЛЖЕН БЫТЬ изолированным у каждой функции. Никаких совместно используемых параметров сеанса для функционирования всего этого быть не должно.

--
Поэтому я запретил своим ребятам использование Вашей разработки..
Но дайте знать, как решите эту проблему.
13. m-rv 805 24.06.19 14:31 Сейчас в теме
(12)
я может не понимаю сути проблемы.. что значит "параллельное использование кода"? если речь о разных сеансах - то и параметры сеанса будут разные. в одном сеансе мне не известно способов затавить работать два потока исполнения
14. spacecraft 24.06.19 15:32 Сейчас в теме
16. m-rv 805 24.06.19 17:16 Сейчас в теме
(14) фоновое задание - это отдельный сеанс
18. spacecraft 24.06.19 18:59 Сейчас в теме
(16) в том-то все и дело. Перенесли часть кода, где использовались параметры сеанса, в фоновые задания и все полетело.
19. kote 505 27.06.19 20:00 Сейчас в теме
(13) (14)не, в фоновых все будет изолировано. Там это будет работать.
Но если использовать оповещения и ассинхронный вызов процедур, то получите в параметре сеанса непредсказуемое значение
21. m-rv 805 28.06.19 09:24 Сейчас в теме
(19) имеете ввиду ОписаниеОповещения? там код будет тоже синхронно выполняться. Что такое асинхронный вызов, не теоретически, а практически как его сделать, кроме фонового задания?
15. ImHunter 165 24.06.19 16:34 Сейчас в теме
(0) Ну хз. В текучих утверждениях BDD - да, в таком стиле писать красиво и приятно.
Но вот в реализации для массивов - это как-то слишком мелко (для ФП). Мне кажется, букв меньше не становится.
17. m-rv 805 24.06.19 17:19 Сейчас в теме
(15)
была идея стримы полностью запилить, решил забросить "пробный шар" с массивами. но по реакции сообщества понимаю, что стримы 1Су не нужны (
20. kote 505 27.06.19 20:03 Сейчас в теме
(17) вы не так поняли. То что вы сделали нужно. Но реализация должна быть иной.
Оставьте свое сообщение

См. также

Альтернативный способ добавления элементов и реквизитов на формы

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 УТ11 Россия Абонемент ($m) Работа с интерфейсом

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

1 стартмани

09.09.2019    5098    7    bmk74    0       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

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

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

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

1 стартмани

03.07.2019    12755    1    m-rv    79       

Модель объекта

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    5505    1    vadim1980    3       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Цифровая подпись Cades-BES для XML средствами 1С с помощью КриптоПро

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Защита и шифрование

Обработка иллюстрирует возможность подписания XML SOAP-конверта по стандарту Cades-BES средствами 1С с помощью внешней компоненты КриптоПРО "CAdESCOM" с учетом ГОСТ 2001 и ГОСТ 2012. Стандарт используется в различных механизмах государственных сайтов России, в том числе в СМЭВ и ГИС ЖКХ. Код не привязан к прикладному решению может быть встроен куда угодно, но только на платформе Windows.

1 стартмани

13.05.2019    5373    12    PythonJ    25       

Быстрый запрос

Отчеты и формы Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

Можно ли дать пользователю "удочку", а не "рыбу"? До сих пор ответ на этот вопрос был отрицательным. Всякий инструмент, который мог бы делать с базой данных все или почти все (или хотя бы многое), отвергался пользователями, как слишком сложный. Вспомните тот же SQL, который изначально разрабатывался именно как пользовательский инструмент. "Быстрый запрос" - это попытка устранить сложность, но сохранить при этом универсальность.

1 стартмани

29.04.2019    8414    21    mkalimulin    28       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Безопасная работа с транзакциями во встроенном языке

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

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    19843    8    tormozit    44       

Трудовой договор, Дополнительное соглашение, Лист ознакомления, Договор о материальной ответственности, Договор о коммерческой тайне, Согласие на обработку персональных данных для ЗУП 3.1

Отчеты и формы Бухгалтер Внешняя обработка (ert,epf) v8 v8::СПР ЗУП3.x Россия БУ Зарплата Управление персоналом (HRM) Абонемент ($m) Печатные формы документов

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

2 стартмани

12.03.2019    17677    104    Asenka    11       

PgConf.Russia 2020. 3-5 февраля 2020 г. Москва. Промо

PGConf.Russia – международная техническая конференция по открытой СУБД PostgreSQL, ежегодно собирающая более 700 разработчиков, администраторов баз данных и IT-менеджеров для обмена опытом и профессионального общения. Для участников сообщества infostart.ru скидка 5% на участие в конференции.

от 12350 рублей

Редактор объектов информационной базы 8.3

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.37 от 14.12.2019

2 стартмани

23.01.2019    13856    177    ROL32    28       

Расширение "Курсы валют в формулах расчета динамических цен" для УНФ 1.6

Инструменты и обработки Программист Пользователь Архив с данными v8 УНФ УУ Ценообразование, анализ цен Абонемент ($m) Ценообразование, прайсы

Расширение "Курсы валют в формулах расчета динамических цен" с автоматическим пересчетом цен при изменении курсов валют для конфигурации "Управление нашей фирмой, редакция 1.6"

5 стартмани

17.01.2019    7740    14    Palmer1976    5       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Инструменты и обработки Программист Архив с данными v8 v8::Mobile БУ УУ Android Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Абонемент ($m) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    28363    237    informa1555    198       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Сравнение pdf-файлов актов сверки

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 v8::БУ БП2.0 Россия БУ Дебиторская и кредиторская задолженность Абонемент ($m) Универсальные обработки

Обработка сравнивает два pdf-файла, в которых находятся стандартные печатные формы актов сверки, и показывает на экране совпадающие и/или отличающиеся по суммам документы взаиморасчетов.

1 стартмани

19.12.2018    8707    4    Torin99    2       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.12.х и УТ 11.4.11.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Проверка VAT номеров

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    6098    wtlz    1       

Обнуление остатков регистров бухгалтерии и накопления

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m) Универсальные обработки Чистка базы

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    13172    209    morozov.sv    30       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

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

6500 рублей

Шпаргалка разработчика для работы с формами

Отчеты и формы Программист Архив с данными v8 Россия Абонемент ($m) Работа с интерфейсом

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

3 стартмани

31.10.2018    10177    72    ELAM    3       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.130.х, КА 2.4.11.х и ERP 2.4.11.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

Навигатор по конфигурации базы 1С 8.3

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРНавигаторУпр) для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Небольшой набор сервисных функций для повседневной работы. Для программистов и пользователей. Платформа 8.3, управляемые формы. Версия 1.1.0.51 от 08.01.2020

3 стартмани

28.10.2018    20097    207    ROL32    62       

Открывашка ячеек таблиц

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм

1 стартмани

27.10.2018    11441    11    tormozit    28       

Базовый курс по управлению ИТ-проектами. Курс проходит с 26 февраля по 22 апреля 2020 года. Промо

Отличительная черта курса - органичное сочетание трех вещей: 1.Теория проектного управления (PMI®+Agile Alliance+Российские ГОСТ+Методологии от 1С); 2. Опыт внедрения продуктов 1С (опыт франчайзи и успешных компаний + тренды Infostart Event и Agile Days); 3. Разбор реальных проблем и рекомендации экспертов по проектам слушателей. Мы будем фиксироваться на тех инструментах, которые реально оказываются полезными в практике руководителей проектов внедрения. Ведущая курса - Мария Темчина.

от 11000 рублей

Расширение "Интерфейс Плюс"

Отчеты и формы Бухгалтер Пользователь Расширение (cfe) v8 v8::ОУ Розница УТ11 Россия УУ Розничная торговля Абонемент ($m) Рабочее место

Расширение для 1С:Розница 2.2 и 1С:Управление Торговлей 11, которое позволит повысить удобство работы!

3 стартмани

22.09.2018    13258    107    RocKeR_13    87       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом

Инструменты и обработки Программист Пользователь Архив с данными v8 КА1 БП2.0 УТ10 УПП1 Windows Абонемент ($m) Печатные формы документов Универсальные функции Email

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    14870    10    stvorl    0       

TextRadar - нечеткий поиск в тексте

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент Поиск данных

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

5 стартмани

19.09.2018    9538    15    TSSV    14