Программеры, упрощаем себе трудовые будни!

Публикация № 1707073 08.08.22

Приемы и методы разработки - Инструментарий разработчика

Разработка Оптимизация Программный интерфейс Универсальные механизмы Инструменты разработчика

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

Оглавление

Предпосылки для публикации. 1

Динамические процедуры.. 2

Для чего это. 2

Как использовать. 2

Как включать/выключать. 3

Важно. 4

Что дает. 4

Фиксированные наборы значений. 5

Фиксированные значения реквизитов. 5

Фиксированные значения реквизитов пользователей. 5

Фиксированные списки значений. 5

Фиксированные таблицы значений. 5

Фиксированные таблицы значений пользователей. 5

Переключатели. 5

Текущие показатели. 5

Динамические макеты.. 6

Фиксированные картинки. 6

Фиксированные запросы.. 6

Доступ. 6

Модуль для работы с фиксированными наборами значений. 6

Динамический интерфейс. 7

Обработчики событий/готовимся к обновлению.. 8

Консоль. 9

Процедуры и функции. 9

Заключение. 12

 

Предпосылки для публикации

Почему не хотел публиковать:

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

Почему опубликовал:

  1. Коллеги настоятельно советуют поделиться этим с общественностью. Говорят, может многим помочь. Если действительно так и окажется, буду очень рад!
  2. Накопилось довольно много наработок. Они реально экономят много времени. Они реально решают ежедневные рабочие проблемы.
  3. Я ярый противник Динамического обновления! Эти инструменты позволяют свести такие обновления к минимуму из возможного.

Описание специфики моей работы:

  1. Как уже говорил, работаю в основном на УПП, а значит это режим «Обычное приложение». Все, что требовалось из приведенного в этой статье, в режиме управляемого приложения, тоже работало.
  2. База довольно объемная, и работает в режиме 24/7. Останавливается только 1 раз в неделю на 1 час для монопольного обновления. Нужно все успеть за отведенное время, и следующее окно будет только через неделю.
  3. Динамическое обновление несколько раз приводило к всем известным проблемам. Сейчас его делаю крайне редко, только в случаях, когда без него вообще никак.
  4. Компания довольно активно развивается, и постоянно требуется новый функционал, или усовершенствование существующего. Доработок очень много.
  5. Бух.  отчетность сдается из этой же базы, т.е. регламентированные обновления выполняются регулярно. Не реже чем раз в квартал. Много времени на подготовку обновления нет, при обновлении нужно учесть все выполненные доработки.
  6. Отдельное внимание уделяется правам доступа. Повсеместно применяется RLS. Иногда требуются довольно экзотические настройки доступа.

Динамические процедуры

Для чего это

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

Теперь мы можем экономить кучу времени и нервов.

Как использовать

Для подключения процедуры или функции нужно сделать следующее:

В модуль, для удобства, добавляем такую функцию:

Функция ИмяМодуля()
    Возврат "#ИМЯМОДУЛЯ#";
КонецФункции

Соответственно вместо «#ИМЯМОДУЛЯ#», нужно написать имя текущего модуля.

Объявление процедур/функций

  1. В начало процедуры или функции добавляем следующий код

Для функции:

#Область ДинамическаяФункция
ИмяПроцедуры = "ИмяПроцедуры";
ДинамическаяПроцедура = арт_ДинамическиеПроцедуры.ПолучитьДинамическуюПроцедуру(ИмяМодуля()+"."+ИмяПроцедуры);
Если ДинамическаяПроцедура <> Неопределено Тогда
    Рез = Неопределено;
    Выполнить(ДинамическаяПроцедура);
    Возврат Рез;
КонецЕсли;
#КонецОбласти

Для процедуры:

#Область ДинамическаяПроцедура
ИмяПроцедуры = "ИмяПроцедуры";
ДинамическаяПроцедура = арт_ДинамическиеПроцедуры.ПолучитьДинамическуюПроцедуру(ИмяМодуля()+"."+ИмяПроцедуры);
Если ДинамическаяПроцедура <> Неопределено Тогда
    Выполнить(ДинамическаяПроцедура);
    Возврат;
КонецЕсли;
#КонецОбласти

Как включать/выключать

 

Включаем

Добавляем в регистр сведений «Динамические процедуры» запись. В поле Имя пишем по принципу «ИмяМодуля.ИмяПроцедуру», ставим галку «Действует», прописываем модуль и все. Осталось только нажать кнопку «ОК».

Включаем

В регистре сведений «Динамические процедуры» в записи с именем нужного модуля снимаем галку «Действует». Нажимаем «ОК».

Важно

Функция должна результат сохранять в переменной «Рез». Оператор «Возврат» в динамических процедурах использовать нельзя!

Что дает

Сразу после разработки этого модуля приступил к задаче бизнеса, на который работаю.

Вот результаты:

В доработку попался модуль со многими входящими переменными. Для тестирования каждой итерации доработки требовалось обновить конфигурацию, менять несколько реквизитов в пользовательском режиме, последовательно открывать несколько форм, нажимать кнопки, и смотреть результат. Каждая итерация занимала около 5 минут. В общей сложности мне требовалось 15 таких обновлений, а за счет использования этого механизма, мне хватило всего 3 обновлений. Т.е. (15-3)*5 получаем час сэкономленного чистого рабочего времени. Плюс к этому избежание накладных расходов: нет неинтересных рутинных действий, не надо вспоминать на чем остановился, не надо снова настраивать мозг на работу. Теперь с набранным опытом мне бы хватило и одного обновления. Этот механизм уже полностью окупил себя, т.к. на его разработку ушло менее 30 минут.

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

  1. Добавляем в 1с шаблоны для быстрого подключения динамических процедур. Они приложены к статье.
  2. Когда понимаем, что отладка может затянуться и потребует несколько обновлений, вставляем в каждую измененную процедуру и функцию соответствующий шаблон и прописываем нужное имя. Это занимает около 5 сек на процедуру.
  3. Дальше начинаем проверять доработки. Если видим, что в какой-то из процедур требуются доработки, делаем их. Добавляем или находим запись в регистре сведений «Динамические процедуры». Копируем туда текст исправленной процедуры. Сохраняем. И проверяем результат исправлений, не выходя из пользовательского режима.
  4. Когда отладка полностью закончена, со всех добавленных записей в регистре сведений «Динамические процедуры» снимаем галки «Действует», убираем код динамической процедуры, обновляем базу и, на всякий случай проверяем результат уже без динамических процедур. Если все сделано правильно, то результат не будет отличаться от достигнутого в п.3.

Экономьте своё время и нервы!

Бонусы:

  1. Обновление без обновления
  2. Делаем несколько заглушек типа «Функция Заглушка1(ДопПараметры = Неопределено, ВозвращаемыеЗначения = Неопределено) Экспорт» и можем налету не только логику менять, но и добавлять недостающие функции.

Фиксированные наборы значений.

На моей конфигурации идет очень активная доработка. Постоянно добавляем новый функционал. Постоянно требуются новые константы, новые небольшие регистры соответствий, новые макеты. Когда количество добавленных констант перевалило за сотню, решили, что с этим пора что-то делать. Коллега предложил сделать регистр сведений «_ФиксированныеЗначенияРеквизитов» с измерением «ИмяРеквизита» и ресурсом «ЗначениеРеквизита». Такой применялся на его предыдущей работе. Т.е. автор идеи этого регистра не я. Мое авторство только в масштабировании этого подхода.

Фиксированные значения реквизитов

Это первый регистр из этого механизма. Используется по аналогии с константами. По имени реквизита получаем нужное значение. Регистр прост и прекрасен. Он остался почти в исходном виде, который предложил мой коллега. Т.к. у нас в нем содержится уже более 300 записей, для облегчения поиска добавил ресурс с типом значения, который устанавливается автоматически.

Фиксированные значения реквизитов пользователей

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

Фиксированные списки значений

Иногда требуется зафиксировать не одно значение, а сразу несколько. Например, перечень подразделений с определенным функционалом, или перечень складов, остатки которых можно учитывать при планировании. Сначала делали в регистре «Фиксированные значения реквизитов» с именами типа «Склад1», «Склад2» и т.д.. Потом наступил момент, когда у меня появилась идея расширить применение данного подхода, и сделать по аналогии фиксированные списки, к которым тоже можно обращаться по имени.

Фиксированные таблицы значений

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

Фиксированные таблицы значений пользователей

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

Переключатели

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

Текущие показатели

Регистр аналогичен регистру «Фиксированные значения реквизитов», только он меняется самой программой. Там обычно храню позиции длительных обработок. Например, какая-то обработка работает несколько дней, она перебирает данные по прошлым периодам. В этот регистр она пишет до какого периода она дошла. В результате получаем два бонуса: 1. Можем быстро посмотреть ее текущее состояние, 2. Если требуется прекратить все сеансы, то спокойно отключаем ее, и при возобновлении работы она «помнит» на чем остановилась, и продолжает с точки останова, а не начинает заново.

Динамические макеты

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

Фиксированные картинки

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

Фиксированные запросы

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

Доступ

Т.к. у нас с доступом все серьезно, все, выше приведенное, обычным пользователям доступно только для чтения. Исключение составляют только «Фиксированные значения реквизитов пользователей» и «Фиксированные таблицы значений пользователей», которые доступны для изменения каждому только свои. Плюс некоторые из наборов доступны конкретным пользователям. Ограничение работает по имени набора, с реализацией на RLS. Роли в публикацию не включены.

Модуль для работы с фиксированными наборами значений

Весь функционал для работы с этим блоком есть в приложенной конфигурации в модуле «арт_ФиксированныеНаборы». Имена функциям старался давать интуитивно понятные, с разумными сокращениями.

Перечень функций:

  • Текущие показатели
    • ТП_Установить(ИмяРеквизита, Раздел, Значение)
    • ТП_Получить(ИмяРеквизита, Раздел)
  • Значения
    • Значение_Получить(ИмяЗначения)
  • Списки значений
    • СЗ_Получить(Имя)
    • СЗ_Установить(Имя, СЗ)
  • Таблицы значений
    • ТЗ_ПолучитьТЗПоИмени(Имя)
    • ТЗ_ЗаписатьТЗПоИмени(ТЗ, Имя)
    • ТЗ_ПолучитьОбъектПоИмени(Имя, Создавать = Истина)
    • ТЗ_ПолучитьТЗПоОбъекту(Объект)
    • ТЗ_ТЗВОбъект(Объект, ТЗ)
  • Таблицы значений пользователя
    • ТЗПлз_ПолучитьТЗПоИмени(Имя, Пользователь = Неопределено)
    • ТЗПлз_ЗаписатьТЗПоИмени(ТЗ, Имя, Пользователь = Неопределено)
    • ТЗПлз_ПолучитьОбъектПоИмени(Имя, Создавать = Истина, Пользователь = Неопределено)
  • Запросы
    • Запрос_ПолучитьПоИмени(вхГруппа, вхИмяЗапроса, вхПараметрыЗапроса = Неопределено)
    • Запрос_ПолучитьРезультат(вхГруппа, вхИмяЗапроса, вхПараметрыЗапроса = Неопределено)
    • Запрос_ПолучитьТЗ(вхГруппа, вхИмяЗапроса, вхПараметрыЗапроса = Неопределено
    • Запрос_ПолучитьВыборку(вхГруппа, вхИмяЗапроса, вхПараметрыЗапроса = Неопределено)
  • Картинки
    • Картинка_ПолучитьПоИмени(вхГруппа, вхИмяКартинки)
  • Динамические макеты
    • ДМ_ПолучитьМакет(ИмяМакета)
  • Переключатели
    • Переключатель(вхРаздел, вхИмя)

 

Динамический интерфейс

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

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

Примеры вызова старался писать перед самой функцией в самом модуле. Еще несколько примеров есть в файле шаблонов.

Примеры для наглядности:

Параметры = Новый Структура;
Параметры.Вставить("ИмяКоманднойПанели","ДействияФормы");
Элемент = арт_ДинамическийИнтерфейс.КоманднаяПанель_ДобавитьКнопку(ЭтаФорма, "ЗаполнитьВыходные", "Заполнить выходные", Параметры);
Параметры = Новый Структура;
Параметры.Вставить("Панель",Панель);
Параметры.Вставить("Страница",СтраницаДопРеквизитов);
Параметры.Вставить("Данные","_Бонус");
Элемент = арт_ДинамическийИнтерфейс.ДобавитьФлажок(ЭтаФорма, "_Бонус", "Бонус", Параметры);

Естественно, сам по себе добавленный на форму новый элемент управления, много функционала не добавит. Без обработки его событий, это просто декорация. В приложенных шаблонах есть готовый шаблон «арт_ОбластьОбработчиковФормы». Его текст также добавлен в закомментированном виде в модуль «арт_ДинамическийИнтерфейс» в приложенной конфигурации.

На момент первой публикации в нем есть следующие обработчики:

  • Обработичик_ПолеВводаНачалоВыбора
  • Обработичик_ЭлементФормыНачалоВыбораИзСписка
  • Обработичик_НажатиеКнопки
  • Обработичик_ЭлементФормыПриИзменении
  • Обработичик_НадписьНажатие
  • Обработичик_ТЧПриНачалеРедактирования
  • Обработичик_ТЧПриВыводеСтроки
  • Обработичик_Оповещение

Все они ведут в модуль «арт_ОбработчикиСобытийКлиентПереопределяемый». Там можно по входящим параметрам «ЭтотОбъект», «ЭтаФорма» и «Элемент» определить контекст вызова, и выполнить необходимый функционал. Т.к. предполагается выпуск обновлений для приложенной конфигурации, рекомендую в этом модуле передавать управление в свой модуль, и уже там выполнять необходимую обработку логики.

У нас обработчик выглядит примерно так:

Если ТипЗнч(ЭтотОбъект) = Тип("ДокументОбъект.ПеремещениеТоваров") Тогда
    Если Элемент.Имя = "СоздатьПриказ" Тогда
        СформироватьПриказ(ЭтотОбъект);
    КонецЕсли;
ИначеЕсли ТипЗнч(ЭтотОбъект) = Тип("ДокументОбъект.РеализацияТоваровУслуг")  Тогда
    Если Элемент.Имя = "СоздатьСертификат" Тогда
        ...

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

Обработчики событий/готовимся к обновлению

Данная тема приведена только как методика, во вложенных файлах про это ничего нет.

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

В начале модуля идет функция «ИмяМодуля», так мы обеспечиваем работу динамических процедур. Бонусом эта функция позволяет определить, в какой конкретно форме мы находимся, в режиме «Обычное приложение» эта задача не из простых.

Следом, для форм, идет блок «арт_ОбластьОбработчиковФормы», это позволяет полноценно использовать динамический интерфейс.

Далее в ключевых обработчиках делаем вставки. Для примера, в начале обработчика ПриОткрытии у нас идет «ОбработчикиСобытийКлиент.ФормаДокументаПриОткрытии_ДоВыполнения(ЭтотОбъект,ЭтаФорма);» , а в конце «ОбработчикиСобытийКлиент.ФормаДокументаПриОткрытии_ПослеВыполнения(ЭтотОбъект,ЭтаФорма);». Весь основной функционал доработок вынесен в наши общие модули, и просто так при обновлении потеряться не может. Таким образом, даже при очень серьезном изменении в регламентированном обновлении, и потери нашего кода в типовом модуле, нам достаточно вернуть пару строк, и функционал восстанавливается в полном объеме.

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

Консоль

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

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

Процедуры и функции

В приложенной конфигурации еще есть модуль «арт_УниверсальныеФункции». В нем у меня функции, которыми я упрощал себе трудовые будни. Часть скорей всего, где-то уже была реализована. Некоторые, типа «ПреобразоватьЧислоВРимскуюНотацию», вообще скопированы из типовой конфигурации. При копировании старался это фиксировать, чтобы не приписывать себе авторство. Копировал лишь с целью не вспоминать каждый раз в каком типовом модуле находится нужная мне функция.

Пока приведу только их список, без описаний. Потом может и описание добавлю.

  • MD5
  • АнализЗначения
  • ВвестиТип
  • ВерсииРег_ЗаписатьВерсию
  • ВерсииРег_ПолучитьПоследнююВерсию
  • Вэб_ПолучитьСтраницуСтрокой
  • Вэб_УрлРазделитьНаСерверИПуть
  • Дата_ВремяСтрокой
  • Дата_ВремяСтрокойСокр
  • Дата_МесяцСтрокой
  • Дата_НомерМесяцаПоСтроке
  • Дата_ПересечениеПериодов
  • Дата_СложитьДатуИВремя
  • Дата_СтрокаЯвляетсяДатой
  • ДобавитьРеквизитТекстом
  • ДополнитьСтроку
  • ЕстьРеквизит
  • ЗначениеВXMLТекстом
  • Клиент_ОпределитьКолонкуТабличногоПоля
  • Мас_ВСтроку
  • Мас_ДобавитьМассив
  • Мас_Итог
  • Мас_Объединение
  • Мас_Сортировать
  • Мас_СортироватьПоРеквизиту
  • Мас_УбратьДубли
  • Мета_ВариантыЗначенияРеквизита_Мас
  • Мета_ПолучитьФорму
  • Мета_СсылкаНаПоследнийДокумент
  • Мета_СсылкаНаЭлементСправочника
  • НаборЗаписейТекстом
  • НачалоВыбораЗначенияСправочникаСоставногоТипа
  • Отладка
  • ОтправитьТабДокНаПочту
  • ОчиститьТЧПередЗаполнением
  • Пауза
  • ПервоеЗаполненное
  • Перевод_ПеревестиСписокРеквизитов
  • Перевод_ПолучитьПереводПоЗначению
  • ПреобразоватьЦифруВРимскуюНотацию
  • ПреобразоватьЧислоВАрабскуюНотацию
  • ПреобразоватьЧислоВРимскуюНотацию
  • Проверка_ПодчиненныйСоответствуетВладельцу
  • СЗ_Объединение
  • СЗ_Пересечение
  • СсылкаСуществует
  • Стр_ВИмяПеременной
  • Стр_ВЧисло
  • Стр_ДобавитьСтрокуВТекст
  • Стр_ПовторПодстроки
  • Стр_ТекстВМассивСтрок
  • Стр_ТекстВТЗСтрок
  • Стр_ТекстИзТЗСтрок
  • Стр_УдалитьДублиПробелов
  • Стр_ЭтоЦифра
  • Строка_Заменить
  • Строка_ПолучитьЧисло
  • Строка_ТолькоЦифры
  • Строка_УбратьЛидирующиеЦифры
  • Строка_УбратьПрефикс
  • Структура_ВставитьСвойствоПоУмолчанию
  • Структура_ДобавитьИзДругойСтруктуры
  • Структура_Копия
  • Структура_ПолучитьСвойствоПоУмолчанию
  • Структура_УдалитьНеопределено
  • СтруктураСтрокой
  • ТабДок_ПреобразоватьВТЗ
  • Текст_ПолучитьМассив
  • Текст_ПолучитьТЗ
  • Текст_СокрЛП
  • Текст_УдалитьКомментарий
  • Текст_УдалитьПустыеСтроки
  • ТЗ_ДобавитьИзДругойТЗ
  • ТЗ_ДобавитьСтроку
  • ТЗ_ДобавитьСтрокуЕслиНет
  • ТЗ_НайтиСоздатьПоФильтру
  • ТЗ_НайтиСтроки
  • ТЗ_ОбработатьСтроки
  • ТЗ_ПолучитьЗначениеПоКлючу
  • ТЗ_ПолучитьМассивЗначенийКолонки
  • ТЗ_ПолучитьМассивЗначенийКолонок
  • ТЗ_ПолучитьПоследнююСтроку
  • ТЗ_ПолучитьТабличныйДокумент
  • ТЗ_ПолучитьУниверсальныйОтчет
  • ТЗ_РазделитьВМассивТЗПоКоличествуСтрок
  • ТЗ_Свернуть
  • ТЗ_СгруппироватьПоКолонке
  • ТЗ_СкопироватьСФильтром
  • ТЗ_СоздатьТЗ
  • ТЗ_Сравнить
  • ТЗ_СтрокиВМассив
  • ТЗ_УдалитьЛишниеСтроки
  • ТЗ_ЧисткаКолонок
  • ТипСтрокой
  • ТипСтрокой2
  • УменьшитьНаМинимум
  • ХешСтрокаCRC32
  • ХешСтрокаMD5
  • ХешФайлCRC32
  • ХешФайлMD5
  • ЭтоОбъект
  • ЭтоРабочаяБаза
  • ЭтоСсылка

Заключение

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

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

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

Основное тестирование проходило на релизе платформы 8.3.20.1674, но должно работать и на остальных 8.3.*. Специфические функции новых релизов старался не использовать.

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

Наименование Файл Версия Размер
АРТ_Оптимизация_1.0.0.4.cf

.cf 178,63Kb
4
.cf 1.0.0.4 178,63Kb 4 Скачать
арт_Шаблоны.st

.st 32,46Kb
3
.st 32,46Kb 3 Скачать
Консоль универсальных механизмов

.epf 22,75Kb
3
.epf 22,75Kb 3 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. maksa2005 364 08.08.22 13:23 Сейчас в теме
Первое что попалось:
Дата_МесяцСтрокой = Строка(Дата)
не так ли?
2. SerVer1C 503 08.08.22 13:37 Сейчас в теме
(1) Текст_СокрЛП ещё интереснее
3. maksa2005 364 08.08.22 13:39 Сейчас в теме
(2) блин. я ржу не могу (на названием Текст_СокрЛП).....честно. проглядел этот супер процедуру с вычислением переменных в космосе)))
4. Baryshev 132 08.08.22 15:56 Сейчас в теме
(1) Нет. Дата_МесяцСтрокой выдает "Январь", "Февраль" и т.д.
(2) Текст_СокрЛП делает СокрЛП для каждой строки многострочного текста
5. alex_bob 237 08.08.22 16:20 Сейчас в теме
А как задаются параметры динамической процедуры?
6. Baryshev 132 08.08.22 17:41 Сейчас в теме
(5) Параметры такие же как и у обычной процедуры. Но если есть вероятность, что потребуется передать дополнительный параметр или получить дополнительный результат, то советую прописать два дополнительных параметра "ДопПараметры = Неопределено, ВозвращаемыеЗначения = Неопределено".
Пример:
Функция ИмяМодуля() Экспорт
	Возврат "Модуль1";
КонецФункции

Процедура Тест(ДопПараметры = Неопределено, ВозвращаемыеЗначения = Неопределено) Экспорт
	ИмяПроцедуры = "Тест";
	лЭтоДинамическаяПроцедура = Ложь;
	ДинамическаяПроцедура = арт_ДинамическиеПроцедуры.ПолучитьДинамическуюПроцедуру(ИмяМодуля()+"."+ИмяПроцедуры);
	Если ДинамическаяПроцедура <> Неопределено Тогда
		Выполнить(ДинамическаяПроцедура);
	КонецЕсли;
	Сообщить("Работает обычная процедура");
КонецПроцедуры
Показать

Если в регистре _ДинамическиеПроцедуры нет записей с именем "Модуль1.Тест", или у записи сброшен флаг Действует, то будет выводить "Работает обычная процедура".
А если добавить такую запись и установить флаг, а в ресурсе Модуль написать "Сообщить(""Работает ДИНАМИЧЕСКАЯ процедура"");", то соответственно будет выводить "Работает ДИНАМИЧЕСКАЯ процедура"
7. minarenko 09.08.22 05:25 Сейчас в теме
(6)как все эти динамические процедуры отлаживать?
8. Baryshev 132 09.08.22 11:49 Сейчас в теме
(7)В статье вроде все описал.
Основной смысл, когда подключены динамические процедуры, то после изменения кода можно не обновлять конфигурацию, а просто скопировать текст процедуры в регистр, и измененный функционал сразу начинает действовать. А обновлять, когда тестирование уже закончено.
9. alex_bob 237 10.08.22 13:28 Сейчас в теме
Было бы неплохо отразить в статье, что приложенная конфа имеет режим совместимости 8.3.19. Кстати, там реально какие-то возможности 8.3.19 используются или это случайно?
А УПП у вас тоже в режиме совместимости с 8.3.19 работает?
10. Baryshev 132 10.08.22 14:09 Сейчас в теме
(9) Про то что тестировал на 8.3.20, это я писал.
С режимом совместимости, это скорее случайность, не обратил внимания.
УПП работает в режиме совместимости 8.2.13, на платформе 8.3.20, ошибок не обнаружено.
Более того, когда сделал эту конфу, добавил ее в УПП через режим поддержки (с отметкой объектов только по подсистеме арт_Подсистемы).
Проблем нет.
Если поменяете режим совместимости на другой, думаю проблем не будет.
11. anosin 30 26.08.22 14:34 Сейчас в теме
(10) зря вы так думаете что проблем не будет, еще как будут.
14. Baryshev 132 01.09.22 17:31 Сейчас в теме
(11) Имел ввиду, что если эту конфигурацию использовать в режиме 8.2.13, то проблем, по крайней мере у меня, нет.
Если видите какие-то риски, буду благодарен, если поделитесь ими.
12. ShiningPhoenix 23 26.08.22 23:17 Сейчас в теме
Лет 7 назад использовал подобное также в УПП - очень удобно. Может интересно будет - для оформления делали внешнюю обработку с копией нужной формы + доработки. Перед кодом критичных процедур оставляли вставки - если код в регистре есть и актуален - исполняем его, иначе исполняем код конфигуратора.
15. Baryshev 132 01.09.22 17:35 Сейчас в теме
(12) Очень интересная идея.
Спасибо!
Обдумаю.
13. ovasiliev 6 28.08.22 12:09 Сейчас в теме
При виде обычных форм в 2022 появляется лёгкая изжога, депрессия и клаустрофобия. Старею...
16. Baryshev 132 01.09.22 17:40 Сейчас в теме
(13) Мне Ваши чувства близки.
Только мне с ними работать каждый день, и возможности уйти от них сейчас, практически нет.
Вот и приходится как-то выкручиваться.
ovasiliev; +1 Ответить
Оставьте свое сообщение

См. также

Проверка ведения учета (универсальная) Промо

Инструментарий разработчика Анализ учета Платформа 1С v8.3 Запросы Абонемент ($m)

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

2 стартмани

11.08.2020    7484    35    vozhd    4    

Программное формирование существующих печатных форм

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

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    5665    16    RocKeR_13    3    

Универсальный редактор данных (УРД)

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    11235    177    Adeptus    53    

HTTP-клиент

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

Подсистема 1С для работы с HTTP.

1 стартмани

28.07.2021    10578    34    SpaceOfMyHead    46    

Тестирование проводок в ЕРП и КА Промо

Инструментарий разработчика Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Бухгалтерский учет Абонемент ($m)

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

1 стартмани

02.09.2020    5530    28    JohnConnor    7    

Подсистема "Показатели объектов"

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

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

2 стартмани

06.03.2021    11162    6    pila86    16    

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

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

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

5 стартмани

21.12.2020    15099    28    huxuxuya    11    

Консоль кода для управляемых форм

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

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

1 стартмани

17.07.2020    36698    524    salexdv    394    

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

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

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

3 стартмани

28.10.2018    52555    471    ROL32    72    

Внешний регламент для 1С

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    13001    12    moolex    12    

Запуск 1С под любым пользователем (без необходимости указания пароля)

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

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

1 стартмани

02.07.2019    35686    409    sapervodichka    0    

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

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

30.06.2019    20681    2    vadim1980    5    

Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю...

1 стартмани

01.09.2012    72571    1405    AnryMc    46    

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

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

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

1 стартмани

13.05.2019    45971    189    Diversus    44    

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

1 стартмани

08.04.2019    30406    22    slozhenikin_com    37    

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

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

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

5 стартмани

09.01.2019    70503    280    informa1555    239    

Faster - многофункциональный ускоритель работы программиста 1С и других языков программирования Промо

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

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    90336    973    moolex    157    

Легкое и гибкое управление списком доступных баз 1С у пользователей

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

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    26232    27    RomikR    11    

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

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

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    61615    599    Eugen-S    36    

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

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

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

1 стартмани

21.09.2018    36230    24    stvorl    1    

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка)

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

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

5 стартмани

14.08.2018    143651    3312    Evg-Lylyk    796    

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

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

5 стартмани

09.08.2018    42067    35    informa1555    30    

Регистры правил [Расширение]

Инструментарий разработчика Платформа 1С v8.3 Управление правами 1С:Управление торговлей 11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    28066    33    33lab    5    

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

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

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

1 стартмани

08.02.2018    39799    23    mvxyz    17    

Программное формирование форматированной строки в стиле html+inline CSS

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

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    51649    54    bonv    13    

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

14.11.2017    34008    102    bonv    15    

Набор подсистем "Умные таблицы"

Инструментарий разработчика Платформа 1С v8.3 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    43368    112    Silenser    34    

Автокликер для 1С

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

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

1 стартмани

03.04.2017    41837    86    slava_1c    67    

Управление задачами: Канбан доска

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Конфигурация "Управление задачами" с использованием БСП. Канбан доска. Открытый код.Загрузка изменений из хранилища конфигураций 1С и связь с задачами. Проект выложен на github (ссылка в публикации). Управляемые формы. Рассылка уведомлений.

1 стартмани

02.10.2016    91358    717    BlizD    330    

Конструктор-тестер http запросов в 1С

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

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

3 стартмани

19.08.2016    53838    338    hlopik    19    

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Беларусь Бухгалтерский учет НДС Абонемент ($m)

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

1 стартмани

28.07.2016    42184    21    c1nil    4    

Навигатор по структуре и данным баз 1С 8

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

Просмотр структуры и данных информационных баз 1С:Предприятие 8.2, 8.3. Состав, типы объектов, табличных частей, движений. Размер, структура хранения объекта. Для администраторов и разработчиков. Версия 1 - на обычных формах, версия 2 - на управляемых.

1 стартмани

11.07.2016    37782    153    o.nikolaev    17    

Консоль запросов "Запросник" для управляемых форм с подсветкой синтаксиса

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

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

1 стартмани

19.04.2016    47050    270    1С_Мастер    42    

Простые радости жизни программиста 1С: выбор типа значения

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

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

1 стартмани

17.02.2016    65620    59    yuraos    18    

Яндекс.Деньги "Благотворительность"

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

Яндекс.Деньги теперь в 1С. Форма для приема благотворительных взносов. Форму легко сделать и вставить на любую страницу сайта или блога. Платежи будут приходить на ваш кошелек. На форме есть три способа платежа: из кошелька, с банковской карты, с баланса мобильного.

1 стартмани

16.02.2016    31141    8    Tatitutu    5    

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API)

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

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    61816    191    TuneSoft    30    

Автоматическая подстановка уничтожений временных таблиц в текст запроса

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    25429    0    SeiOkami    3    

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена)

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

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

4 стартмани

11.11.2015    50524    115    catsam    8    

Exec - Выполнение кода, консоль запросов и не только!

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

Незаменимый инструмент администратора БД и программиста: Выполняйте произвольный код из режима 1С Предприятие; сохраняйте/загружайте часто используемые скрипты; выполняйте запросы с замером производительности запроса в целом и каждой из временных таблиц в частности, а также с просмотром содержимого временных таблиц; произвольным образом изменяйте любые объекты БД, редактируя даже не вынесенные на формы реквизиты и записывая изменения в режиме "ОбменДанными.Загрузка = Истина"; легко узнавайте ИД объектов БД; выполняйте прямые запросы к SQL с замером производительности и не только!

5 стартмани

10.11.2015    47380    77    catsam    11    

Работа с push сервисами только средствами 1С 8.2

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Обработка для настройки, тестирования и использования с предустановками для 3-х сервисов. Текст модуля для внедрения в конфигурацию или другие обработки. Уведомления на телефон, компьютер, браузер.

1 стартмани

18.08.2015    36204    46    anig99    1    

Универсальная учетная система с конструктором документов и справочников в режиме 1С: Предприятие

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

Заголовок статьи звучит фантастично, но это не шутка. Занимаясь внедрениями, я часто сталкивался с ситуацией, когда надо было к типовой конфе приделать простенький модуль учета чего-нибудь, не специфичного для самой конфы. Например в УТ учет материалов в эксплуатации. Модуль обычно состоял из пары справочников (2-3), 3-х документов и регистра или пары регистров. Однажды подобные пристройки понадобились одновременно на 3 проектах. Скучно делать одинаковую работу, и я подумал, а что, если сделать универсальный инструмент, в котором пользователь сам сможет нарисовать себе справочники, реквизиты к ним, документы и движения. Т.е. конструктор полноценных документов в пользовательском режиме. Это оказалось не так сложно - все дело в подходящей архитектуре данных.

1 стартмани

29.07.2015    38048    145    informa1555    41    

Портал для входа в информационную базу

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

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

10 стартмани

14.07.2015    51932    35    INTECH1    4