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

27.02.15

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

Эта статья позволит сократить трудозатраты программиста, за счет применения шаблонов программного кода. Каждый шаблон кода реализован как пример, который можно копировать. Примеры использования СКД базируются на решении http://infostart.ru/public/276806/ . Кроме того, добавлены варианты кода, позволяющие дорабатывать типовые конфигурации с сохранением возможности штатного обновления конфигурации.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Шаблоны программного кода
.rar 313,81Kb
70
70 Скачать (1 SM) Купить за 1 850 руб.

Общие положения.

  1. Все примеры данной статьи разработаны на управляемом приложении.  Использование этих шаблонов в обычном приложении возможно и не требует разделение &НаКлиенте и &НаСервере.

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

  3.  Конструктор результата СКД и ключевые процедуры подробно описаны в //infostart.ru/public/276806/ . Поэтому здесь приложены только файлы, содержащие последнею версию и полностью исполняющие заявленную ранее функциональность Конструктора Результата СКД. А именно:

    1. Тип результатаСКД ТабличныйДокумент или ДеревоЗначений задаётся открытием нужной страницы.

    2. В качестве источника данных для СКД допускается внешняя база. Выбор источника данных на странице «Параметры базы данных».

    3. Чтение формата *.xls на странице «Загрузить *.xls».

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

Содержание примеров.

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

 

  1. Пример 01. (Простейший).  Получить табличный документ, используя СКД. Все входные данные по умолчанию.

  2. Пример 02. Различные варианты кодирования.

    1.  Получить таблицу значений, используя СКД.

    2.  Получить дерево значений для варианта настройки №2, используя СКД.

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

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

  5. Пример 05. Получить дерево значений по данным внешней базы, используя СКД. Данные хранятся во временном хранилище. Строку соединения с базой программист может скопировать с экрана на странице «Параметры базы данных (Источника)».

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

    2. В контрольном примере_05 СтрокаСоединения = "File=D:\InfoStart\ИнфоСтарт3_\CD_3;Usr=Администратор;Pwd=";

    3.  Значение переменной необходимо привязать по месту.

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

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

  8. Пример 08. (Поддержка типовой конфигурации). В типовом документе, выполненном в формате обычного приложения:

    1.  Добавить и обработать новый реквизит.

    2.  Добавить и обработать новую табличную часть.

    3.  Добавить новую кнопку процедуры.

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

    5.  Новые формы выполнить в формате управляемого приложения.

Порядок работы. 

  1. Создаём макет СКД. Макет размещаем либо в Отчет. РезультатСКДупр, либо в целевой объект конфигурации.

    1. В отчете. РезультатСКДупр заполняем переменную АдресМакетаСКД.

    2. В процедуре ЗаполнитьПараметрыСКДсрв() заполняем параметры макета.

  2. Применяем Отчет.РезультатСКДупр для отладки результата СКД.

    1. Выбираем внешнюю базу в качестве источника данных (не обязательно).

    2. Считываем дополнительную информацию из *.xls (не обязательно).

    3. Запускаем «СформироватьСКД». Выполняем отладку СКД.

    4. Процедура ВыполнитьПоАлгоритму() позволяет доработать полученную КоллекциюЗначений. (Не обязательно).

  3. По завершении отладки, приступаем к формированию программного кода для вставки в целевой объект.  

    1. В целевой объект копируем один из примеров Отчета. ПримерыИспользованияКонструктораСКД.

    2. Заполняем параметры результатом отладки.

    3. Запускаем целевой объект.

  4. В целевом объект получаем ТаблицуЗначений, ДеревоЗначений или ТабличныйДокумент.

 

Некоторый комментарий по применению СКД не только для отчетов.

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

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

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

Остальные объекты желательно перенести в текущую базу для личного удобства копирования программного кода.

Внешняя база может использовать платформы 1cv82 и 1cv83. Однако, следует иметь ввиду, что фирма 1С обеспечивает преемственность с ранними версиями. То есть, если предполагается читать платформу 1cv83, то текущая база должна быть запущена на платформе 1cv83.

Комментарий о поддержке обновлений типовых конфигураций.

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

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

В примере_08 вызов новой формы выполняется кнопкой ПодменюЗаполнить.ЗаполнитьТабЧасть2локально

Схема работает.

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

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

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

      2.  Здесь один из вариантов аргументации. Если в типовой объект добавлена табличная часть, то обработка её предполагается на отдельной странице. Хлопоты пользователя по открытию страницы или новой формы различаются не значительно. С другой стороны, если сравнить предложенный вариант с вариантом программной записи новых элементов формы в типовой объект //infostart.ru/public/304736/ , то в трудозатраты программиста входит написание одной строки вызова новой формы. Все остальные изменения внутри новой формы обслуживаются типовыми конструкторами и не будут влиять на типовой объект. Это плюс и для новой ТАБЛИЧНОЙ ЧАСТИ программисту рационально использовать новую форму

      3. С другой стороны, администрация должна для себя определить, что независимость программного кода от конкретного программиста выгодна фирме. Желательно, найти дополнительные аргументы, убеждающие администрацию в рациональности использования второй формы.

        Рекомендации по добавлению нового кода в типовую конфигурацию.

  1. Как изменить процедуру типовой конфигурации?

    1. Изменения следует выполнить в локальной процедуре. Программисту следует постараться.

    2. Разместить локальную процедуру, желательно, в конце типовой().

    3. Имя локальной процедуры должно начинаться с _. В этом случае, все изменения будут в верху списка процедур.

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

      Процедура ИмяТиповойПроцедуры()

                  // текст типовой процедуры.

                 

                  _ ИмяТиповойПроцедурыИмяФирмы();

      КонецПроцедуры

       

      Процедура _ ИмяТиповойПроцедурыИмяФирмы () //Локальная

                  // локальный текст

        КонецПроцедуры

  2. Как добавить новые свойства объекту типовой конфигурации? Новые свойства следует обрабатывать в новой форме(управляемая). При этом, не следует забывать о различие данных на форме и объекте. То есть, программист должен согласовать данные новой формы с данными типовой формы и типовым объектом. Создание нового объекта из новой формы следует предотвратить.

    1. Как вариант, можно добавить обработку типовых свойств в новую форму.

  3. Новые кнопки на экране объекта типовой конфигурации следует добавлять программным методом, учитывая рекомендации п.1.

  4. Реализацию этих простых рекомендаций можно посмотреть в Примере_08.

Примеры.

 //////// 01 //////

&НаКлиенте

Процедура ПолучитьТабДок_01(Команда)

                Перем ТабДок;

                ПолучитьТабДок_01НаСервере(ТабДок);

                ТабДок.Показать();

КонецПроцедуры

 

&НаСервере

Процедура ПолучитьТабДок_01НаСервере(результатСКД)

                ПараметрыСКД =Новый Структура();

                ЗаполнитьПараметрыСКД(ПараметрыСКД);

                струкСКД =Новый Структура("АдресМакетаСКД,ПараметрыСКД" , АдресМакетаСКД,ПараметрыСКД ) ;

                результатСКД = ОбщегоНазначенияСКД.СформироватьРезультатСКД(  струкСКД );               

КонецПроцедуры

 

/////////// 02 //////////////

&НаКлиенте

Процедура Получить_тз_02_1(Команда)

                Перем тз;

                Получить_тз_02_1НаСервере(тз);

                ОткрытьЗначение(тз);        

КонецПроцедуры

&НаСервере

Процедура Получить_тз_02_1НаСервере(результатСКД)

                ПараметрыСКД =Новый Структура();

                ЗаполнитьПараметрыСКД(ПараметрыСКД);

                РезультатСКДтип = "ТаблицаЗначений"; //оставитьНужное смотри описание

                струкСКД =Новый Структура("РезультатСКДТип,АдресМакетаСКД,ПараметрыСКД" , РезультатСКДТип, АдресМакетаСКД,ПараметрыСКД ) ;

                результатСКД = ОбщегоНазначенияСКД.СформироватьРезультатСКД(  струкСКД );               

КонецПроцедуры

 

&НаКлиенте

Процедура Получить_дз_02_2(Команда)        

                дз = Получить_дз_02_2НаСервере();

                ОткрытьЗначение(дз);       

КонецПроцедуры

 

&НаСервере

Функция Получить_дз_02_2НаСервере()

                ПараметрыСКД =Новый Структура();

                ЗаполнитьПараметрыСКД(ПараметрыСКД);

                РезультатСКДтип = "ДеревоЗначений"; //оставитьНужное смотри описание

                НастройкиСКД = "Вариант2";

                струкСКД =Новый Структура("РезультатСКДТип,АдресМакетаСКД,НастройкиСКД,ПараметрыСКД" , РезультатСКДТип, АдресМакетаСКД,НастройкиСКД,ПараметрыСКД ) ;

                результатСКД = ОбщегоНазначенияСКД.СформироватьРезультатСКД(  струкСКД );               

                Возврат результатСКД;

КонецФункции

////////////  03  /////////////

&НаКлиенте

Процедура ПолучитьТабДокИзХранилища_03(Команда)            

                ПолучитьТабДокИзХранилища_03НаСервере();

                СтрукРезультатСКД = ПолучитьИзВременногоХранилища(АдресРезультатаСКД);

                РезультатСКД = СтрукРезультатСКД.РезультатСКД;       

                РезультатТабДок = РезультатСКД;    

КонецПроцедуры

 

&НаСервере

Процедура ПолучитьТабДокИзХранилища_03НаСервере()

                ПараметрыСКД =Новый Структура();

                ЗаполнитьПараметрыСКД(ПараметрыСКД);   

                РезультатСКДтип = "ТабличныйДокумент"; //оставитьНужное смотри описание

                струкСКД =Новый Структура("АдресРезультатаСКД,РезультатСКДТип,АдресМакетаСКД,ПараметрыСКД" , АдресРезультатаСКД, РезультатСКДТип, АдресМакетаСКД,ПараметрыСКД ) ;

                ОбщегоНазначенияСКД.СформироватьРезультатСКД(  струкСКД );           

КонецПроцедуры

 

&НаКлиенте

Процедура РезультатТабДокОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)          

                СтандартнаяОбработка = Ложь;

                СтрукРезультатСКД = ПолучитьИзВременногоХранилища(АдресРезультатаСКД);

                цДанныеРасшифровки = СтрукРезультатСКД.ДанныеРасшифровки;

                ОсновноеДействие =цДанныеРасшифровки.Элементы.Получить(Расшифровка).ОсновноеДействие;

                мсДоступныеДействия = Новый Массив();

                мсДоступныеДействия.Добавить(ОсновноеДействие);

                схемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(АдресМакетаСКД);

                ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(цДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(схемаКомпоновкиДанных));      

                Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, , мсДоступныеДействия );               

КонецПроцедуры

////////////  04  /////////////

&НаКлиенте

Процедура ПолучитьДЗизХранилища_04(Команда)

                Перем ПараметрыСКД;

                ЗаполнитьПараметрыСКД(ПараметрыСКД);   

                ПолучитьДЗизХранилища_04НаСервере(ПараметрыСКД);          

КонецПроцедуры

&НаСервере

Процедура ПолучитьДЗизХранилища_04НаСервере(ПараметрыСКД)

                РезультатСКДтип = "ДеревоЗначений"; //оставитьНужное смотри описание

                НастройкиСКД = "Вариант2";

                струкСКД =Новый Структура("АдресРезультатаСКД,РезультатСКДТип,АдресМакетаСКД,НастройкиСКД,ПараметрыСКД" , АдресРезультатаСКД, РезультатСКДТип, АдресМакетаСКД,НастройкиСКД,ПараметрыСКД ) ;

                ОбщегоНазначенияСКД.СформироватьРезультатСКД(  струкСКД );           

                СтрукРезультатСКД = ПолучитьИзВременногоХранилища(АдресРезультатаСКД);

                РезультатСКД = СтрукРезультатСКД.РезультатСКД;

                ИмяРеквизита = "РезультатДеревоЗначений";

                ОбщегоНазначенияСКД.ОбновитьКолонкиТЗ(ЭтаФорма, ИмяРеквизита, РезультатСКД);

КонецПроцедуры

///////////////  05  ///////////

&НаКлиенте

Процедура ПолучитьИзВнешнейБазы_05(Команда)

                Перем ПараметрыСКД;

                ЗаполнитьПараметрыСКД(ПараметрыСКД);

                РезультатСКДтип = "ДеревоЗначений"; //оставитьНужное смотри описание         

                //СтрокаСоединения = "Srvr=PankratovWork:1541;Ref=SQL_01;Usr=Администратор;Pwd=";

                СтрокаСоединения = "File=D:\InfoStart\ИнфоСтарт3_\CD_3;Usr=Администратор;Pwd=";

                ПолучитьИзВнешнейБазы_05НаСервере(струкСКД);

                СтрукРезультатСКД = ПолучитьИзВременногоХранилища(АдресРезультатаСКД);

                РезультатСКД = СтрукРезультатСКД.РезультатСКД;       

                ОткрытьЗначение(РезультатСКД);                   

КонецПроцедуры

 &НаСервере

Процедура ПолучитьИзВнешнейБазы_05НаСервере(струкСКД)

                ОбщегоНазначенияСКД.СформироватьРезультатСКД(  струкСКД );           

КонецПроцедуры

/////////////  06 //////////////

&НаКлиенте

Процедура ИзВнешнегоНабораТЗ_06(Команда)

                Перем ПараметрыСКД;

                ЗаполнитьПараметрыСКД(ПараметрыСКД);

                РезультатСКДтип = "ТабличныйДокумент"; //оставитьНужное смотри описание

                //РезультатСКДтип = "ТаблицаЗначений"; //оставитьНужное смотри описание

                //РезультатСКДтип = "ДеревоЗначений"; //оставитьНужное смотри описание

                струкСКД =Новый Структура("АдресРезультатаСКД,РезультатСКДТип,АдресМакетаСКД,ПараметрыСКД,СтрокаСоединения" , АдресРезультатаСКД, РезультатСКДТип, АдресМакетаСКД, ПараметрыСКД,   ) ;

                ИзВнешнегоНабораТЗ_06НаСервере(струкСКД);

                СтрукРезультатСКД = ПолучитьИзВременногоХранилища(АдресРезультатаСКД);

                РезультатСКД = СтрукРезультатСКД.РезультатСКД;       

                Если ТипЗнч(РезультатСКД)=Тип("ТабличныйДокумент") Тогда

                               РезультатСКД.Показать();

                Иначе

                               ОткрытьЗначение(РезультатСКД);   

                КонецЕсли;           

КонецПроцедуры

&НаСервере

Процедура ИзВнешнегоНабораТЗ_06НаСервере(струкСКД)        

                НастройкиСКД = "тзНаборДанных";  //имяВариантаСКД

                струкСКД.Вставить("НастройкиСКД", НастройкиСКД);

                цТЗнаборДанных = ПолучитьТЗ();     

                ВнешниеНаборыДанныхСКД = Новый Структура("тзНаборДанных",цТЗнаборДанных );

                струкСКД.Вставить("ВнешниеНаборыДанныхСКД",ВнешниеНаборыДанныхСКД);

                ОбщегоНазначенияСКД.СформироватьРезультатСКД(  струкСКД );           

КонецПроцедуры

 

////////////////  07  ///////////

&НаКлиенте

Процедура ИзВнешнегоНабораДЗ_07(Команда)

                Перем ПараметрыСКД;

                ЗаполнитьПараметрыСКД(ПараметрыСКД);

                //РезультатСКДтип = "ТабличныйДокумент"; //оставитьНужное смотри описание

                //РезультатСКДтип = "ТаблицаЗначений"; //оставитьНужное смотри описание

                РезультатСКДтип = "ДеревоЗначений"; //оставитьНужное смотри описание         

                струкСКД =Новый Структура("АдресРезультатаСКД,РезультатСКДТип,АдресМакетаСКД,ПараметрыСКД,СтрокаСоединения" , АдресРезультатаСКД, РезультатСКДТип, АдресМакетаСКД, ПараметрыСКД,   ) ;    

                ИзВнешнегоНабораДЗ_07НаСервере(струкСКД);

                СтрукРезультатСКД = ПолучитьИзВременногоХранилища(АдресРезультатаСКД);

                РезультатСКД = СтрукРезультатСКД.РезультатСКД;       

                Если ТипЗнч(РезультатСКД)=Тип("ТабличныйДокумент") Тогда

                               РезультатСКД.Показать();                  

                Иначе

                               ОткрытьЗначение(РезультатСКД);                                  

                КонецЕсли;           

КонецПроцедуры

&НаСервере

Процедура ИзВнешнегоНабораДЗ_07НаСервере(струкСКД)

                НастройкиСКД = "дзНаборДанных";  //имяВариантаСКД

                струкСКД.Вставить("НастройкиСКД", НастройкиСКД);

                ДЗ = ПолучитьДЗ();             

                цТЗнаборДанных = ОбщегоНазначенияСКД.ДЗпреобразоватьВтз(ДЗ);     

                ВнешниеНаборыДанныхСКД = Новый Структура("тзНаборДанных",цТЗнаборДанных );

                струкСКД.Вставить("ВнешниеНаборыДанныхСКД",ВнешниеНаборыДанныхСКД);

                ОбщегоНазначенияСКД.СформироватьРезультатСКД(  струкСКД );           

КонецПроцедуры

Состав приложения RAR.

В приложение помещено КонструкторСКД.dt, КонструкторСКД.cf КонтрольнаяВнешняяБаза.cd и консоль5.dcf

  1.  КонструкторСКД.dt – Контрольная база. База содержит

    1.  отчет.РезультатСКДупр – инструмент для отладки алгоритма получения данных с использованием СКД.

    2. отчет. ПримерыИспользованияКонструктораСКД – шаблоны программного кода для копирования.

    3.  Документ. ДокументТиповой_01обыч – шаблон программного кода для внесения изменений в типовой документ, с возможностью сохранения поддержки при типовом обновлении. В примере_08 типовой документ выполнен по технологии обычного приложения, а новая форма по технологии управляемого приложения.

    4. ОбщиеМодули – обеспечивают заявленную функциональность. Эта версия модулей рекомендована для замены более ранней версии в //infostart.ru/public/276806/ .  

  2. КонтрольнаяВнешняяБаза.cd – используется для контроля соединения КонструктораСКД с внешней базой.

  3. консоль5.dcf – настройка консоли отчетов для оперативной проверки заполнения типового документа с локальными изменениями.

Примечание.

В //infostart.ru/public/276806/ приведен внешний отчет, который можно использовать как инструмент для отладки получения данных с использованием СКД. Указанный внешний отчет работает как в обычном режиме запуска, так и в управляемом.

Желаю успехов всем и каждому.

Шаблон СКД обновление

См. также

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    152830    836    398    

846

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 руб.

20.08.2024    4530    30    14    

39

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

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

9360 руб.

17.05.2024    20941    60    43    

107

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

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

300000 руб.

03.03.2021    14286    12    27    

36

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

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

10000 руб.

10.11.2023    9475    35    10    

57

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    14204    36    7    

69

SALE! %

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

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

4800 3840 руб.

14.01.2013    185903    1127    0    

899

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    16853    6    30    

42
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. script 128 28.02.15 13:43 Сейчас в теме
Это нужно делать в виде Шаблона универсального отчета для СКД
2. pavley2002 199 01.03.15 13:18 Сейчас в теме
(1) script,
Целью статьи не является создание отчета, в том числе универсального. Я привел примеры использования СКД вместо результата запроса для целей программирования.
Технология СКД обладает наглядность и расширенными возможностями по сравнению с запросом. Это преимущество можно использовать, если вместо результата запроса использовать ТаблицуЗначений или ДеревойЗначений. Примеры 01-07 описывают различные способы получения НаборовЗначений. Эти НаборыЗначений можно использовать, например, для ОбработкиПроведения.
СКД наглядно показывает алгоритм формирования информации. Это один из плюсов.
pm74; teflon; +2 Ответить
3. avz_1C 10 31.01.19 13:27 Сейчас в теме
4. szv 164 03.01.21 08:37 Сейчас в теме
В разделе "Как изменить процедуру типовой конфигурации?" предлагается править код. Это наверное неудачно.
Наверное лучше в типовой вызвать экспортную процедуру с параметром СтандартнаяОбработка.
Процедура должна находиться в Общих модулях. Правит ее только Программист. Тогда будет без проблемное обновление типового функционала ...
Оставьте свое сообщение