Как программно открыть внешний отчет из "Дополнительных отчетов и обработок" и передать параметры (при помощи БСП)

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

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

обработка отчет параметры 1с83 разработка

Пример, как при помощи БСП программно открыть внешний отчет/обработку из "Дополнительные отчеты и обработки" и передать параметры...

Дано: конфигурация на платформе 1С 8.3. В "Дополнительные отчеты и обработки" загружен отчет или обработка.

Задача: открыть данный отчет/обработку программно в коде, например, по кнопке.

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

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

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

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

Итак, в БСП есть модуль работы со справочником "Дополнительные отчеты и обработки" (ДополнительныеОтчетыИОбработки), в частности есть процедура открытия отчета и функция подключения внешнего отчета:

 

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

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

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

Поэтому решила использовать функцию под номером 2, что подключает нужный отчет/обработку, который затем можно открыть по имени, возвращаемому данной функцией.

Итак, сам пример (полный код):
 

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

// Открытие внешней обработки без параметров 
&НаКлиенте
Процедура ОткрытьВнешнююОбработку(Команда)
    ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами ("ВнешняяОбработкаПример", Неопределено, Ложь); 
КонецПроцедуры

// Открытие внешней обработки с передачей параметров
&НаКлиенте
Процедура ОткрытьВнешнююОбработкуСПараметром(Команда)
    ПараметрыОбработки = Новый Структура;
    ПараметрыОбработки.Вставить(НазваниеПараметра, ЗначениеПараметра);
    ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами ("ВнешняяОбработкаПример", ПараметрыОбработки, Ложь);
КонецПроцедуры

// Открытие внешнего отчета СКД без параметров 
&НаКлиенте
Процедура ОткрытьВнешнийОтчетСКД(Команда)
    ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами ("ВнешнийОтчетСКДПример", Неопределено, Истина);
КонецПроцедуры

// Открытие внешнего отчета СКД с передачей параметров
&НаКлиенте
Процедура ОткрытьВнешнийОтчетСКДсПараметром(Команда)  
    ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных;
    ПользовательскиеНастройки.ДополнительныеСвойства.Вставить(НазваниеПараметра, ЗначениеПараметра);
    // добавляем другие нужные параметры по желанию
    //ПользовательскиеНастройки.ДополнительныеСвойства.Вставить(НазваниеПараметра2, ЗначениеПараметра2);
    //ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("Период", Новый СтандартныйПериод(ДатаНачала,ДатаОкончания));   
    ПараметрыОтчета = Новый Структура;
    ПараметрыОтчета.Вставить("СформироватьПриОткрытии", Истина);
    ПараметрыОтчета.Вставить("КлючВарианта", "ФормированиеПоПараметрам");
    ПараметрыОтчета.Вставить("ПользовательскиеНастройки", ПользовательскиеНастройки);   
    ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами ("ВнешнийОтчетСКДПример", ПараметрыОтчета, Истина);
КонецПроцедуры

// процедура, открывающая отчет/обработку по имени, заданному в допобработках
&НаКлиенте
Процедура ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами(ИмяОтчетаОбработки, ПараметрыОткрытия, ЭтоОтчет, РодительскаяФорма =Неопределено)
    ВнешнийОтчетОбработкаДляОткрытияСсылка = ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере (ИмяОтчетаОбработки);  
     // ВЫЗОВ ИЗ БСП ФУНКЦИИ ПОДКЛЮЧЕНИЯ ВНЕШНЕЙ ОБРАБОТКИ
    ИмяОбработкиСлужебное =ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ВнешнийОтчетОбработкаДляОткрытияСсылка);
    Если ЭтоОтчет Тогда
        ОткрытьФорму("ВнешнийОтчет." + ИмяОбработкиСлужебное + ".Форма", ПараметрыОткрытия, РодительскаяФорма);
    Иначе
        ОткрытьФорму("ВнешняяОбработка." + ИмяОбработкиСлужебное + ".Форма", ПараметрыОткрытия, РодительскаяФорма);
    КонецЕсли;
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере(ИмяОтчетаОбработки)
    Возврат Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка;
КонецФункции

Процедуры:

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

Пример формы с кнопками, вызывающими эти процедуры:

Скачать пример данной формы можно в файлах к статье.

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

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

Чтобы сработал код передачи параметров в СКД (ОткрытьВнешнийОтчетСКДсПараметром), нужно в модуле объекта СКД добавить код, принимающий эти параметры:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    ЗаполнитьПользовательскиеНастройки();
КонецПроцедуры

Процедура ЗаполнитьПользовательскиеНастройки()      
    ДополнительныеСвойства = КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства;
    Если Не ДополнительныеСвойства.Количество() Тогда
        Возврат;
    КонецЕсли;                                        
    Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы;
    Отборы    = КомпоновщикНастроек.Настройки.Отбор.Элементы;   
    Для каждого Элемент Из Параметры Цикл                          
        ИмяПараметра = Строка(Элемент.Параметр);
        ЗначениеПараметра = Неопределено;                 
        Если ДополнительныеСвойства.Свойство(ИмяПараметра, ЗначениеПараметра) Тогда
            Настройка =КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Элемент.ИдентификаторПользовательскойНастройки);
            Настройка.Значение      = ЗначениеПараметра;
            Настройка.Использование = Истина;
        КонецЕсли;    
    КонецЦикла;  
    Для каждого Элемент Из Отборы Цикл    
        ИмяПараметра = Строка(Элемент.ЛевоеЗначение);
        ЗначениеПараметра = Неопределено;     
        Если ДополнительныеСвойства.Свойство(ИмяПараметра, ЗначениеПараметра) Тогда
            Настройка =КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Элемент.ИдентификаторПользовательскойНастройки);
            //Настройка.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
            Настройка.ПравоеЗначение = ЗначениеПараметра;
            Настройка.Использование  = Истина;
        КонецЕсли;        
    КонецЦикла;  
    КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Очистить(); 
КонецПроцедуры

 

Скачать пример данного СКД отчета можно в файлах к статье.

 

Также пробовала передавать параметры в СКД вот так:

&НаКлиенте
Процедура ОткрытьВнешнийОтчетСКДсПараметром(Команда)  
    // установка параметров отбора
    Отбор = Новый Структура;
    Отбор.Вставить(НазваниеПараметра, ЗначениеПараметра);
    ПараметрыОтчета = Новый Структура;
    ПараметрыОтчета.Вставить("Отбор", Отбор);
    ПараметрыОтчета.Вставить("СформироватьПриОткрытии", Истина);
    ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами ("ВнешнийОтчетСКДПример", ПараметрыОтчета, Истина);
КонецПроцедуры

 

Однако возникала ошибка: Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

Поэтому выше описала, как передавала параметры отбора в отчет СКД при котором такой ошибки не было.

Обработки тестировались на демо-базе БСП версии 2.4.5.

В архиве:

  • _TestОткрытиеВнешнихОтчетовОбработок.epf - обработка, содержащая форму с примерами кнопок вызова других отчетов и обработок. Можно открывать просто через Файл-Открыть.
  • ВнешняяОбработкаПример.epf - пример внешней обработки, принимающей параметр. Нужно загрузить в"Дополнительные отчеты и обработки" (задать имя ВнешняяОбработкаПример)
  • ВнешнийОтчетСКДПример.erf - пример внешнего отчета на СКД, принимающего параметры. Нужно загрузить в "Дополнительные отчеты и обработки" (задать имя ВнешнийОтчетСКДПример)

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

 

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

Наименование Файл Версия Размер
Обработки-примеры, названные в статье

.zip 16,76Kb
275
.zip 16,76Kb 275 Скачать бесплатно

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

Лучшие комментарии
4. independ 1317 26.03.19 08:01 Сейчас в теме
(0) http://forum.infostart.ru/forum9/topic212215/message2166609/#message2166609, тоже самое, но без создания формы внешнего отчета
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. HAMMER_59 216 26.03.19 06:42 Сейчас в теме
ИМХО проще было внешнюю обработку поправить.
2. ellavs 820 26.03.19 07:37 Сейчас в теме
(1) уточните, что Вы имеете в виду?
3. HAMMER_59 216 26.03.19 07:58 Сейчас в теме
(2) У нас есть инструмент "Дополнительные отчеты и обработки" прекрасен он тем, что не нужно вносить никаких изменений в конфигурации.
В данной статье я не увидел, зачем было "городить огород" создавать расширение, все то же самое можно было реализовать через дополнительный отчет.
5. ellavs 820 26.03.19 09:14 Сейчас в теме
(3) были такие задачи - по нажатию определенной кнопки на форме (из нескольких разных форм) открыть дополнительную обработку и передать ей нужный параметр. Вторая задача была - в СКД по щелчку в определенной ячейке в качестве расшифровки открывать отчет из допотчетов с параметром из данной ячейки. В обоих случая помогли только описанные выше способы. Не буду спорить, может есть способы лучше.
user591389_aska_rabota; Алексей_mir2mb; +2 Ответить
4. independ 1317 26.03.19 08:01 Сейчас в теме
(0) http://forum.infostart.ru/forum9/topic212215/message2166609/#message2166609, тоже самое, но без создания формы внешнего отчета
6. ellavs 820 26.03.19 09:24 Сейчас в теме
(4) Да, тоже вариант. Не видела Вашу статью, т.к. делала свою более полугода назад.
Алексей_mir2mb; +1 Ответить
7. independ 1317 26.03.19 09:28 Сейчас в теме
(6) а я читал вашу статью пару недель назад, но нужен был вариант без формы СКД, кстати можете добавить в свою публикацию, а мне спасибо нарисуете :)
8. ellavs 820 27.03.19 14:26 Сейчас в теме
(7) спасибо :) добавила ссылку на Ваше решение в статью.
Алексей_mir2mb; +1 Ответить
9. v25i85 29.03.19 21:58 Сейчас в теме
"а не спеть ли мне песню о любви"... "велосипедах с костылями".
Можно же организовать в форме внешнего отчета документа отбор.
10. кольщик 02.07.19 15:58 Сейчас в теме
А как по кнопке с формы документа, открыть дополнительный отчет на СКД, загруженный в доп. отчеты и обработки, чтобы загружался в небезопасном режиме?

Сделал так:
&НаКлиенте
Процедура Расш1_ПоказатьЗаявкиВместо(Команда)
	ИмяФайла=ПолучитьИмяФайлаОбработки();
    
    АдресХранилища="";
    Результат=ПоместитьФайл(АдресХранилища,ИмяФайла,,Ложь);
    
    ИмяОбработки=ПолучитьСсылкуНаОбработку(АдресХранилища);
        
    ОткрытьФорму("ВнешнийОтчет."+ ИмяОбработки+".Форма");
КонецПроцедуры



&НаСервере
Функция ПолучитьИмяФайлаОбработки()
    СсылкаНаОбъект = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("ввв");
    
    ДвоичныеДанные = СсылкаНаОбъект.ХранилищеОбработки.Получить();
    
    ИмяФайла = ПолучитьИмяВременногоФайла();
    ДвоичныеДанные.Записать(ИмяФайла);
    
    Возврат(ИмяФайла);
КонецФункции

&НаСервере
Функция ПолучитьСсылкуНаОбработку(АдресХранилища)
    Возврат ВнешниеОтчеты.Подключить(АдресХранилища);
КонецФункции
Показать

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

{ОбщаяФорма.ФормаНастроекОтчета.Форма(34)}: Не передан служебный параметр "НастройкиОтчета".
ВызватьИсключение НСтр("ru = 'Не передан служебный параметр ""НастройкиОтчета"".'");
11. ellavs 820 03.07.19 09:13 Сейчас в теме
(10) не наблюдала такой проблемы. При написании примеров кода отчет подключался как раз в небезопасном режиме и сообщение о небезопасном режиме не было. Попробуйте открывать отчет, используя пример кода из статьи.
12. German_Tagil 26 23.06.20 10:02 Сейчас в теме
я может чего-то не допонял - и вообще это возможно или нет?


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

нужна строка в отчете типа

НоваяСтрока = ВладелецФормы.Объект .Товары.Добавить();

вот как передать и определить ВладелецФормы.Объект не пойму...
13. user797130 09.10.20 09:23 Сейчас в теме
ellavs, добрый день.
А зачем Вы за ссылкой "на сервер" ходите с контекстом?

&НаСервере
Функция ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере(ИмяОтчетаОбработки)
    Возврат Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка;
КонецФункции
14. ellavs 820 09.10.20 09:53 Сейчас в теме
(13) спасибо, что заметили, конечно, нужно исправить.
user797130; +1 Ответить
15. newvideo 10.11.20 13:20 Сейчас в теме
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

АдресХранилища = "";
Результат = ПоместитьФайл(АдресХранилища, "\\Разработка\Отчеты\АкционныеСкидки.erf", , Ложь);
ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища);
ОткрытьФорму("ВнешнийОтчет."+ ИмяОбработки +".Форма");

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

&НаСервере
Функция ПодключитьВнешнююОбработку(АдресХранилища)

Возврат ВнешниеОтчеты.Подключить(АдресХранилища);

КонецФункции
Оставьте свое сообщение

См. также

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

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

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

27.01.2016    80477    Serginio    113    

Обзор полезных методов БСП 3.1.4. Часть 2

БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

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

27.04.2021    8183    rayastar    6    

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

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

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

06.04.2021    5413    Neti    7    

Неочевидные нюансы записи управляемой формы

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

Разберем несколько нюансов записи управляемой формы.

02.04.2021    6490    SeiOkami    52    

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

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

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

16.03.2021    3863    velemir    31    

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

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

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

25.03.2021    21262    rayastar    49    

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

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

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

28.12.2020    5779    comol    31    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

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

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

30.08.2020    14682    quazare    34    

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

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

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

10.12.2016    39237    unichkin    74    

Форма выбора (подбор) в управляемых формах

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

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    50556    user5300    17    

Полезные функции БСП (Часть 2)

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

Список полезных функций из состава Библиотеки стандартных подсистем 3.1.

10.03.2020    17139    user5300    19    

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

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

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

27.01.2020    49153    ids79    26    

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

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

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

15.10.2018    33343    tormozit    105    

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

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

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

15.01.2020    35282    John_d    22    

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

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

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

30.12.2019    27848    kuzyara    38    

30 задач. Странных и не очень

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

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    20563    YPermitin    61    

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

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

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

20.09.2012    80419    tormozit    131    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

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

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    10957    Sibars    19    

Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм

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

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

10.10.2019    24731    John_d    19    

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

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

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

07.10.2019    35416    HostHost    41    

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

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

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

11.07.2007    51430    tormozit    51    

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

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

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

01.10.2019    45340    Yashazz    50    

О программе Postman для тестирования API и для чего она нужна 1С-нику

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

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

24.09.2019    16719    budidich    29    

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

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

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

06.09.2019    79760    rpgshnik    70    

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

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

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

10.09.2017    48209    tormozit    74    

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

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

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

05.09.2019    65395    ids79    55    

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

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

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

05.09.2019    37801    YPermitin    25    

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

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

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

03.09.2019    28062    YPermitin    81    

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

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

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

25.04.2019    16829    m-rv    3    

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

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

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

17.08.2019    39748    ids79    19    

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

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

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

08.08.2019    124165    ids79    72    

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

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

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

02.08.2019    50505    avalakh    26    

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

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

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

16.04.2019    21527    m-rv    17    

Разбираемся с параметрами редактирования СКД

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

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    34085    json    15    

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

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

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

26.07.2019    88006    ids79    14    

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

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

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

17.07.2019    43030    ids79    27    

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

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

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

01.06.2018    33801    m-rv    22    

Регистры сведений. За кулисами

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

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    30544    YPermitin    14    

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

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

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

04.07.2019    20879    SeiOkami    52    

Работа с настройками системы компоновки данных

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

Варианты отчетов, работа с настройками вариантов: структура группировок, поля отчета, отборы, сортировка, условное оформление, другие настройки, настройки отображения диаграмм.

02.07.2019    69259    ids79    17    

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

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

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

05.12.2017    29281    itriot11    34    

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

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

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

25.06.2019    66489    ids79    26    

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

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

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

11.06.2019    28300    dmurk    148    

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

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

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    50667    YPermitin    55    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

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

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    40243    ids79    44    

Подсистема БСП «Управление доступом», основные объекты и регистры

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

Основные принципы работы подсистемы «Управление доступом» из состава БСП. Виды доступа, ограничение доступа на уровне записей. Описание основных объектов и регистров, используемых подсистемой.

23.05.2019    28469    ids79    9    

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

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

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

16.05.2019    55051    YPermitin    30    

О расширениях замолвите слово...

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

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    39868    ellavs    130    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

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

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

28.03.2019    29751    ellavs    90