Практика: Передаем произвольный параметр и открываем форму выбранной нами дополнительной обработки

Публикация № 1109416 18.08.19

Разработка - Механизмы платформы 1С

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

В этой статье я решил собрать 2 практических случая, которые используются не так часто, но которые нужно знать, чтобы вообще знать что так можно. Все это я решил сделать и показать в одной конфигурации на базе БСП. Для данного примера скачал с официального сайта 1с (https://releases.1c.ru/) версию БСП 3.0.1.428.

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

Варианты передачи пользовательского параметра.

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

Просто через командную строку (Выполнить > cmd)

"C:\Program Files (x86)\1cv8\8.3.14.1779\bin\1cv8.exe" ENTERPRISE /F C:\Users\konstantin.skvortsov\Documents\1C\DemoSSL1 /C МойПараметр /N Администратор /P

В этом случае можно просто указать полный путь к базе 1С и необходимый минимум параметров: "C:\Program Files (x86)\1cv8\8.3.14.1779\bin\1cv8.exe" 


Через “батник” (.bat файл)
Все то же самое, только в файле:

echo "Запускаем 1С..." 
"C:\Program Files (x86)\1cv8\8.3.14.1779\bin\1cv8.exe" ENTERPRISE /F C:\Users\konstantin.skvortsov\Documents\1C\DemoSSL1 /C МойПараметр /N Администратор /P 
Pause

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


Вызов через скрипт visual basic (.vbs скрипт)
Пример vbs:

Option Explicit
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files (x86)\1cv8\8.3.14.1779\bin\1cv8.exe"" ENTERPRISE /F C:\Users\konstantin.skvortsov\Documents\1C\DemoSSL1 /C МойПараметр /N Администратор /P ",1,false
Set WshShell = Nothing

Чтобы не было проблем с кириллицей, можно сохранить в кодировке Windows-1251.

/C [строка текста] — передача параметра в конфигурацию.
Хорошая статья про запуск 1С с параметрами: //infostart.ru/public/104654/

При отладке параметр можно передавать из конфигуратора:

2. Открытие дополнительной обработки на начальной странице.

Создаем новую обработку.

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

 

Переименуем обработку, например, в ОсновноеРабочееМестоПользователя. В модуле управляемого приложения в событии ПриНачалеРаботыСистемы прописываем следующий код:


Процедура ПриНачалеРаботыСистемы()
	
	// СтандартныеПодсистемы
	СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы();
	// Конец СтандартныеПодсистемы
	
	ПередаваемыйПараметр = ПараметрЗапуска;
	
	ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ПередаваемыйПараметр", ПередаваемыйПараметр);
	
	Если ЗначениеЗаполнено(ПередаваемыйПараметр) Тогда
		ОткрытьФорму("Обработка.ОсновноеРабочееМестоПользователя.Форма.Форма", ПараметрыОткрытия);
	КонецЕсли;
	
КонецПроцедуры

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


Создадим обработку “Моя обработка”.

Далее создадим простую внешнюю обработку, для подключения ее как дополнительную. Назовем ее, к примеру, Моя обработка.

В модуле объекта напишем:


/////////////////////////////////////////////////////////////////////////
// ********************************************************************
// Функции для использования системой БСП
//Функция ВерсияСтандартныхФункцийОтчетов()
	//Версия стандартных подсистем 3.0.1.428

Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.0.1.428");
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Версия = "06.08.2019";
	ПараметрыРегистрации.Вставить("Информация", 
			"Моя обработка.
			|
			|История изменений:
			|06.08.2019
			|			Первая версия.
			|");
	ПараметрыРегистрации.БезопасныйРежим	=	Ложь;
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = НСтр("ru = Моя обработка");
    Команда.Идентификатор = "МояОбработка";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    Команда.ПоказыватьОповещение = Ложь;

    Возврат ПараметрыРегистрации; 
КонецФункции

В Функции СведенияОВнешнейОбработке() получим ПараметрыРегистрации:
- укажем версию (удобнее всего указывать дату, сразу понятно что за версия);
- вставим в них новое свойство “Информация”, и нашей информацией;
- укажем БезопасныйРежим = Ложь;
- добавим новую команду, укажем представление, идентификатор, тип команды в свойстве Использование и ПоказыватьОповещение = Ложь;

Создадим форму обработки и назначим ее как основная. На форме создадим декорацию и укажем у нее Заголовок “Это моя обработка”.

После того как подключим, по имени обработки (он же ИдентификаторОбработки по которому в системе определяется уникальность обработки), можно будет к ней обращаться.

 

Создадим обработку “Моя новая обработка”.

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

А в ней Подгруппу вида Подменю.

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

 

В модуле объекта нашей второй обработки МояНоваяОбработка напишем:


/////////////////////////////////////////////////////////////////////////
// ********************************************************************
// Функции для использования системой БСП
//Функция ВерсияСтандартныхФункцийОтчетов()
	//Версия стандартных подсистем 3.0.1.428

Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.0.1.428");
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Версия = "06.08.2019";
	ПараметрыРегистрации.Вставить("Информация", 
			"Моя обработка.
			|
			|История изменений:
			|06.08.2019
			|			Первая версия.
			|");
	ПараметрыРегистрации.БезопасныйРежим	=	Ложь;
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = НСтр("ru = Моя новая обработка");
    Команда.Идентификатор = "МояНоваяОбработка";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    Команда.ПоказыватьОповещение = Ложь;

    Возврат ПараметрыРегистрации; 
КонецФункции

Вернемся к встроенной в конфигурацию обработке.

Теперь вернемся к встроенной в конфигурацию обработке ОсновноеРабочееМестоПользователя и в форме в событии ПриСозданииНаСервере напишем:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Перем ПередаваемыйПараметр; 
	
	Если Параметры.Свойство("ПередаваемыйПараметр", ПередаваемыйПараметр) Тогда
	
		УстановитьПривилегированныйРежим(Истина);
		
		Запрос = новый Запрос();
		Запрос.Текст = "ВЫБРАТЬ первые 1
		               |	ДополнительныеОтчетыИОбработки.Ссылка КАК Ссылка
		               |ИЗ
		               |	Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
		               |ГДЕ
		               |	ДополнительныеОтчетыИОбработки.ИмяОбъекта = &ИмяОбъекта";
		Запрос.УстановитьПараметр("ИмяОбъекта", ПередаваемыйПараметр);
		
		Выборка = Запрос.Выполнить().Выбрать();
		
		Если Выборка.Следующий() Тогда
			ДополнительнаяОбработкаДляРабочегоМеста = Выборка.Ссылка;
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры

Далее создадим новую процедуру ОткрытьФормуОбработки и в событии ПриОткрытии ее вызовем:


&НаКлиенте
Процедура ПриОткрытии(Отказ)
		ПодключитьОбработчикОжидания("ОткрытьФормуОбработки",1,Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьФормуОбработки() Экспорт
	
	Если ЗначениеЗаполнено(ДополнительнаяОбработкаДляРабочегоМеста) Тогда
		
		мПараметры = новый Структура;                                                                                                                   
		ИмяОбработки = ПодключитьВнешнююОбработку();
		ОткрытьФорму("ВнешняяОбработка."+ИмяОбработки+".Форма",мПараметры,ЭтаФорма,ЭтаФорма.УникальныйИдентификатор,ЭтаФорма.Окно);
		
	КонецЕсли;	

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


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


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

	ОписаниеЗащитыОтОпасныхДействий = новый ОписаниеЗащитыОтОпасныхДействий();
	ОписаниеЗащитыОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = СтруктураРеквизитов.БезопасныйРежим;
	
	БезопасныйРежим = СтруктураРеквизитов.БезопасныйРежим;
	
	Попытка
    	Возврат ВнешниеОбработки.Подключить(АдресХранилища,,БезопасныйРежим,ОписаниеЗащитыОтОпасныхДействий);
	Исключение
		Возврат ВнешниеОбработки.Подключить(АдресХранилища,,БезопасныйРежим);
	КонецПопытки;

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

В Функции ПодключитьВнешнююОбработку() подключается обработка из справочника ДополнительныеОбработкиИОтчеты. Метод ОбщегоНазначения.ЗначенияРеквизитовОбъекта() получает сразу одним запросом значение двух реквизитов и возращает их в структуре. Затем из ХранилищеОбработки получаем данные обработки в бинарном формате (ДвоичныеДанные), помещаем во временное хранилище, чтобы методом ВнешниеОбработки.Подключить(), можно было подключить эту обработку в системе и затем уже обращаться к ней в строковом параметре метода ОткрытьФорму().

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

Если мы будем передавать пользовательский параметр “МояОбработка”, откроется наша первая обработка, если параметр “МояНоваяОбработка”, откроется наша вторая обработка.

Как видно на скриншоте, в открытой обработке ОсновноеРабочееМестоПользователя мы программно подключили другую обработку, которую определили в нашем пользовательском параметре и открыли основную форму этой обработки внутри окна другой формы.

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

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

Отзывы
12. skv_79 320 21.08.19 19:52 Сейчас в теме
Добавил доп. обработки в конфигурацию и выложил в гит:
https://github.com/KonstantinSkvortsov/PeredachaParametra1C
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ivanov660 3765 19.08.19 09:18 Сейчас в теме
Предлагаю еще один вариант: через промежуточное хранилище данных (к примеру, регистр сведений безопасное хранилище данных из БСП) - изначально сохранили настройки, а при открытии учитываем и обрабатываем.
2. skv_79 320 19.08.19 10:11 Сейчас в теме
(1)
вариант: через промежуточное хранилище данных (к примеру, регистр сведений безопасное хранилище данных из БСП) - изначально сохранили настройки, а при открытии учитываем и обрабатываем

Да, так тоже можно, но параметр, как мне кажется используется не так часто как хранилище значений, и поэтому иногда забывается то, что можно так просто передать в приложение какие-либо данные из внешнего приложения, вспоминая о каких-то других способах. Даже сначала про веб-сервисы и COM вспоминают, и только потом, поняв что задача не требует таких сложностей и можно через обычный параметр из внешнего приложения.
3. qwinter 654 19.08.19 10:19 Сейчас в теме
Остается только риторический вопрос "зачем?")))
4. skv_79 320 19.08.19 10:23 Сейчас в теме
(3) Это из практики, значит я когда-то такое делал. В данном случае нужно было из одного приложения не на языке 1С запускать конфигурацию ERP и открывать форму подбора товаров в знакомом пользователям интерфейсе, для этого использовался пользовательский параметр, в котором передавалась информация о сеансе пользователя, а обратно уже по веб-сервису возвращалось в зависимости от переданных в параметре данных. Согласен, что звучит как костыль, но решение такое было и вполне работало.
5. qwinter 654 19.08.19 10:53 Сейчас в теме
(4)
В данном случае нужно было из одного приложения не на языке 1С запускать конфигурацию ERP и открывать форму подбора товаров в знакомом пользователям интерфейсе, для этого использовался пользовательский параметр, в котором передавалась информация о сеансе пользователя, а обратно уже по веб-сервису возвращалось в зависимости от переданных в параметре данных. Согласен, что звучит как костыль
Это и есть костыль, причем жуткий и кривой. Для подобных задач используется automation client/server.
6. alex_bob 239 19.08.19 11:15 Сейчас в теме
(5)
Это и есть костыль, причем жуткий и кривой. Для подобных задач используется automation client/server.

Windows сейчас далеко не везде.
8. qwinter 654 19.08.19 16:00 Сейчас в теме
(6) для никсов это еще больший костыль, я бы даже сказал КОСТЫЛИЩЕ!!!!, в виду полного сохранения всех выполняемых команд)))))) Хотя если целью было собрать пароли пользователей, не имея администраторского доступа к базе 1С то подойдет)))
10. skv_79 320 19.08.19 17:01 Сейчас в теме
(8) Можно не писать пароль, параметр-то передастся.
7. skv_79 320 19.08.19 15:03 Сейчас в теме
(5)
client/server.

Согласен что костыль, но на мой взгляд, все-же более универсальный в отличии от Automation.
9. qwinter 654 19.08.19 16:00 Сейчас в теме
11. skv_79 320 19.08.19 17:02 Сейчас в теме
(9) Не совсем точно выразился, не универсальный а многоплатформенный.
12. skv_79 320 21.08.19 19:52 Сейчас в теме
Добавил доп. обработки в конфигурацию и выложил в гит:
https://github.com/KonstantinSkvortsov/PeredachaParametra1C
13. skv_79 320 21.08.19 19:52 Сейчас в теме
14. ХамитоваРайса 23.08.19 10:18 Сейчас в теме
Добрый день) Не смогла разархивировать, ругается на длинные имена и символы в именах файлов и каталогов
15. skv_79 320 26.08.19 13:56 Сейчас в теме
(14) Добрый, попробуйте положить ближе к корню диска.
16. skv_79 320 26.08.19 13:57 Сейчас в теме
(14) А еще лучше воспользуйтесь EDT.
Оставьте свое сообщение

См. также

Версионирование объектов VS История данных

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

Давайте разберемся в механизме «История данных» и поэкспериментируем для наглядности. Сравним «Версионирование объектов» и «Историю данных».

06.03.2023    3606    dsdred    34    

107

Оператор GOTO в 1С - табу или волшебная палочка?

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

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

19.02.2023    5008    Dementor    72    

43

Идентификатор объекта в запросе. Вы этого хотели?

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

В платформе 8.3.22 появилась возможность получать идентификатор в запросе. Лично я ждал этого давно, но по итогу ждал большего. Что не так?

12.01.2023    8263    dsdred    13    

63

Маленькие хитрости большой платформы (часть 1)

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

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

29.12.2022    3811    zeltyr    25    

39

Практическая шпаргалка по новым возможностям языка запросов 1С

Механизмы платформы 1С Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

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

21.11.2022    14979    quazare    34    

109

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

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

Асинхронное нечто, или так, как раньше!

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

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

23.10.2022    4367    starik-2005    38    

38

О цикле обратном замолвите слово...

Механизмы платформы 1С Языки и среды Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

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

08.09.2022    5337    DrAku1a    69    

30

1С и Unicode

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

Разбираемся, как 1С работает с текстом и отдельными символами в контексте Unicode.

05.09.2022    3724    Irwin    30    

80

Шпаргалка по функциям АСИНХ

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

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

29.07.2022    12968    zeltyr    17    

137

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

11.07.2022    5370    it-expertise    27    

56

Состав индексов с дополнительным упорядочиванием на уровне СУБД (MS SQL) при индексации реквизитов

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

В момент обсуждения с коллегами работы индексов в 1С был затронут один из вопросов, который касался темы - каким образом происходит построение индексов при индексации реквизитов у объектов 1С (конкретнее, когда свойство реквизита "Индексировать" устанавливается в "Индексировать с доп. упорядочиванием"). Ранее я всегда опирался на знания, полученные в процессе чтения официальной документации от компании 1С, опубликованной на ITS. Наши мнения в этом вопросе разошлись и, как оказалось позже, мои знания не были актуальными, в итоге было проведено некоторое исследование по данному вопросу, чтобы выяснить истину.

15.06.2022    2709    sinichenko_alex    9    

33

Динамическое обновление - это зло?

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Копнем глубже в тему "Что же такое динамическое обновление" и почему оно может привести к проблемам. И может ли?

09.05.2022    16445    Infostart    77    

227

Об одной неочевидной проблеме перехода на версию платформы 8.3.20

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

При переходе на платформу 8.3.20 мы столкнулись с ошибкой "Повторяющийся псевдоним "Ссылка" Ссылка AS Ссылка,Presentation AS Presentation,Ссылка AS Ссылка" в ряде типовых конфигураций. Причём, эта проблема оказались неизвестна ни Яндексу, ни Гуглу. Путём мучительных экспериментов нам удалось найти решение. Пока я ещё не уверен, действительно это решение или обходной костыль, а настоящая проблема -- в чём-то другом, но это решение работает в ситуации, когда всё сломалось, а проблему надо решать срочно. Предположительная причина: платформа 8.3.20 более строго относится к типизации данных в запросах, чем предыдущие версии, вываливая в случае несоблюдения новшеств малопонятные ошибки.

08.04.2022    6241    Kernelbug    26    

34

Отборы динамического списка

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

Динамический список предоставляет несколько объектов "Отбор". В статье разбирается, какой для чего нужен и как их использовать на форме. Рассматриваются только возможности платформы (без БСП).

28.03.2022    22772    Gladkov_Anton    5    

65

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

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Фишки платформы 1С 8.3 для начинающего разработчика

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

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

11.03.2022    10603    Dimbayyyy    98    

61

Экспертный кейс. Расследование деградации производительности системы. Проведение документа “Поступление товаров и услуг” (1С:ERP 2)

Механизмы платформы 1С Запросы HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В ходе проведения нагрузочного тестирования одним из наших клиентов была выявлена сильная деградация производительности системы в целом и, в частности, выполнения ключевой операции “Проведение документа поступление товаров и услуг” в течение выполнения теста. Согласно данным подсистемы БСП “Оценка производительности”, время выполнения ключевой операции “Проведение документа поступление товаров и услуг” возрастало в процессе тестирования с 15-20 секунд в начале тестирования до 150-200 секунд в его финале.

02.03.2022    4015    it-expertise    48    

30

Модульная архитектура или пара слов о расширениях. Часть I (мысли, рассуждения)

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

Статья-размышление о том, какое может быть применение технологии расширений 1С и зачем нам, разработчикам/программистам на 1С, знать общепринятые паттерны проектирования приложений. Итак, а что если я вам скажу, что технология расширений 1С - это одно из прекрасных новшеств компании 1С? Пусть эта статья будет хвалебной одой расширениям 1С.

14.02.2022    6461    amon_ra    67    

25

Синхронный и асинхронный вызов в новых версиях платформы

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

31.01.2022    6581    Shining_ninja    17    

35

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

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

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

12.11.2021    12080    acces969    95    

138

Работа с 1С:Аналитика Промо

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

4500 рублей

Как спроектировать структуру регистра сведений

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

«Что может быть проще?» — это первое, что приходит в голову. Но что, если это не так? В этой статье мы попробуем затронуть некоторые вопросы, которые могут возникнуть при проектировании больших регистров.

08.11.2021    8601    Neti    60    

108

О вложенных попытках, исключениях и о представлении ошибок

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

07.11.2021    11882    Nicholas    22    

46

Обработчик ожидания. Нюансы

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

ПодключитьОбработчикОжидания: некоторые подробности и особенности работы

24.08.2021    24191    Yashazz    25    

62

Прогресс-бар в поле динамического списка

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

Изображаем прогресс-бары в колонке динамического списка

23.08.2021    4457    Yashazz    13    

39

ПриПолученииДанныхНаСервере + Контекст формы. Лайфхак

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

Передать свои произвольные данные в событие, которое "без контекста"? Легко!

13.08.2021    7080    Yashazz    16    

43

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Новичок новичку: как добавить программно кнопку на форму путем расширения

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

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

13.05.2021    39307    user1312100    28    

69

Программное создание расширения

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

Создание нового расширения "на лету", только штатными средствами 1С.

06.04.2021    6919    Yashazz    16    

77

Советы из Желтой тетради 📒 #1

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

В этой публикации я собрал в одном месте часть советов и лайфхаков, которые открыл для себя в последнее время. Регулярно я публикую их в своём телеграм-блоге "Жёлтая тетрадь 📒 Блог программиста 1С", здесь же - дайджест этих публикаций.

15.03.2021    6389    builin    120    

52

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Расширенный автоподбор при вводе по строке в поле ввода в управляемых формах

Механизмы платформы 1С Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

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

21.01.2021    10217    herfis    9    

48

О формах 1С замолвите слово... Необычное использование знакомого всем объекта

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

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

13.01.2021    10531    CyberCerber    46    

101

Наследование свойств элементов, или Как пользователь может сломать вашу форму

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Бесплатно (free)

В 1С можно установить свойства ТолькоПросмотр, Доступность и Видимость не только на элементы формы, но и на группы элементов. Но стоит ли так делать? Оказывается, пользователь может обойти запреты, которые установлены на папку. Об этом подробнее в видео.

12.01.2021    6409    SeiOkami    27    

111

Ускоряем медленный/долгий и тормозной стандартный поиск по динамическому списку, настраиваем его под себя

Механизмы платформы 1С Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

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

14.12.2020    39670    SizovE    2    

40

Передача параметров по значению в языке 1С

Механизмы платформы 1С Платформа 1С v8.3 ИТ-компания Бесплатно (free)

Все мы знаем, что в 1С можно написать такое: Процедура ОбработатьОбъект(Знач Объект) КонецПроцедуры Т.е. тем самым мы передаем в процедуру параметр по значению Далее в статье будут рассмотрены некоторые особенности передачи по значению объектов НЕпримитивных типов.

26.11.2020    6116    direktorSan    9    

29

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий "НачалоВыбора", "Автоподбор")

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

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

15.11.2020    16492    Eugen-S    11    

69

Групповое изменение реквизитов объектов расширений

Механизмы платформы 1С Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Бесплатно (free)

Доработка встроенной обработки "Групповое изменение реквизитов" для возможности изменения ссылочных реквизитов с ссылками на объекты расширения. Работает в Комплексной конфигурации 2.4.

07.11.2020    3217    Alfn    14    

23

Лайфхаки для разработчиков 1С. Часть 1

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Россия Бесплатно (free)

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

30.09.2020    9390    Neti    47    

68

Контекст любого объекта конструкцией #Если Фамилия Тогда

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Делаем инициализацию переменной в "своей" инструкции препроцессора, для получения контекстной подсказки объекта через точку. В дальнейшем в компилированном коде сама инициализация игнорируется, т.к. "своя" инструкция препроцессора НИКОГДА не выполняется.

17.08.2020    3521    sapervodichka    36    

25

Новое отображение ошибок в 1С

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рассмотрим развитие механизма отображения ошибок в 1С (начиная с 8.3.17)

10.08.2020    37648    SeiOkami    45    

145