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

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

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

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

1. Шаблон областей для модулей объектов, менеджеров, форм

Как многие знают, в типовых конфигурациях код модулей разделен на секции. Это помогает проще ориентироваться в коде. Я проанализировал различные объекты типовых конфигураций и создал заготовки для : 
    модуля формы
    модуля объекта
    модуля менеджера объекта
    общего модуля 
Замечание: конструкция #Область ИмяОбласти доступна под платформой 8.3, начиная с режима совместимости 8.2

Модуль формы
#Область ОбработчикиСобытийФормы



#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы



#КонецОбласти

#Область ОбработчикиСобытийЭлементовТаблицыФормы_ИмяТаблицы



#КонецОбласти

#Область ОбработчикиКомандФормы



#КонецОбласти

#Область СлужебныеПроцедурыИФункции



#КонецОбласти
Модуль объекта
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс



#КонецОбласти

#Область ОбработчикиСобытий



#КонецОбласти

#Область СлужебныеПроцедурыИФункции



#КонецОбласти

#КонецЕсли
Модуль менеджера
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс



#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс



#КонецОбласти

#Область СлужебныеПроцедурыИФункции



#КонецОбласти

#КонецЕсли
Общий модуль
#Область ПрограммныйИнтерфейс



#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс



#КонецОбласти

#Область СлужебныеПроцедурыИФункции



#КонецОбласти

2. Шаблон проведения

Данная схема проверена на практике множество раз. Она понятная и расширяемая. Применяется практически для всех типовых документов. 

В модуле объекта заполняем два обработчика

Модуль объекта документа
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	
	ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
	ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);

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

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
	
	ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);
	
	Документы.<НашДокумент>.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
	
	ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
	
	<ОбщийМодуль1>Сервер.Отразить<Регистр1>(ДополнительныеСвойства, Движения, Отказ);
	<ОбщийМодуль1>Сервер.Отразить<Регистр2>(ДополнительныеСвойства, Движения, Отказ);

	
	ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
	
	ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
	
КонецПроцедуры

 

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

Модуль менеджера документа
Процедура ИнициализироватьДанныеДокумента(ДокументСсылка, ДополнительныеСвойства, Регистры = Неопределено) Экспорт
	
	////////////////////////////////////////////////////////////////////////////
	// Создадим запрос инициализации движений
	
	Запрос = Новый Запрос;
	ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
	
	////////////////////////////////////////////////////////////////////////////
	// Сформируем текст запроса
	
	ТекстыЗапроса = Новый СписокЗначений;
	ТекстЗапросаТаблица<Регистр1>(Запрос, ТекстыЗапроса, Регистры);
	ТекстЗапросаТаблица<Регистр2>(Запрос, ТекстыЗапроса, Регистры);

	
	ПроведениеСервер.ИницализироватьТаблицыДляДвижений(Запрос, ТекстыЗапроса, ДополнительныеСвойства.ТаблицыДляДвижений, Истина);
	
КонецПроцедуры

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

Функция ТекстЗапросаВременнаяТаблица<ТабличнаяЧасть1>(Запрос, ТекстыЗапроса)
	
	ИмяРегистра = "ВременнаяТаблица<ТабличнаяЧасть1>";
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	тч.НомерСтроки            КАК НомерСтроки,
	|	тч.Поле1                  КАК Поле1,
	|	тч.Поле2	           КАК Поле2
	|ПОМЕСТИТЬ
	|	ВременнаяТаблица<ТабличнаяЧасть1>
	|ИЗ
	|	Документ.<НашДокумент>.<ТабличнаяЧасть1> КАК тч
	|ГДЕ
	|	тч.Ссылка = &Ссылка
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	Возврат ТекстЗапроса;
	
КонецФункции

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

 

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

 

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

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

 

Также добавляется служебная команда


В 

Модуль формы документа (команды)
&НаКлиенте
Процедура ПровестиИЗакрыть(Команда)
	
	ОбщегоНазначения.ПровестиИЗакрыть(ЭтаФорма);
	
КонецПроцедуры

 

Обработчики ПередЗаписью() и ПослеЗаписи() выглядит примерно так:

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

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

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

&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
	
	ПринудительноЗакрытьФорму = Истина;

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

 

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

Модуль формы документа
&НаКлиенте
Процедура Подключаемый_ЗакрытьФорму() Экспорт
	
	Закрыть();
	
КонецПроцедуры

 

Дальше пишем наш код с проверками. Не забываем обработчики завершения делать экспортными. Я проверки написал так:

Модуль формы документа
&НаКлиенте
Процедура ЗадатьВопрос1(ПараметрыЗаписи)
	Оповещение = Новый ОписаниеОповещения("ЗадатьВопрос1Завершение", ЭтаФорма, ПараметрыЗаписи);
	ТекстВопроса = "Какой-то вопрос 1 ?";
	ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецПроцедуры

&НаКлиенте
Процедура ЗадатьВопрос1Завершение(Результат, ПараметрыЗаписи) Экспорт
	Если Результат = КодВозвратаДиалога.Да Тогда
		ЗадатьВопрос2(ПараметрыЗаписи);
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ЗадатьВопрос2(ПараметрыЗаписи)
	Оповещение = Новый ОписаниеОповещения("ЗадатьВопрос2Завершение", ЭтаФорма, ПараметрыЗаписи);
	ТекстВопроса = "Какой-то вопрос 2 ?";
	ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецПроцедуры

&НаКлиенте
Процедура ЗадатьВопрос2Завершение(Результат, ПараметрыЗаписи) Экспорт
	Если Результат = КодВозвратаДиалога.Да Тогда
		ПередЗаписьюЗавершение(ПараметрыЗаписи);
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПередЗаписьюЗавершение(ПараметрыЗаписи)
	
	Результат = ОбщегоНазначения.ОбработатьЗаписьОбъектаВФорме(ЭтаФорма, ПараметрыЗаписи);
	
КонецПроцедуры

Хочу обратить внимание, что процедура ПередЗаписью() на клиенте вызывается два раза. Причем первый раз в ней выставляется Отказ=Истина, и вызывается первая процедура из цепочки вопросов. Если пройдены все необходимые проверки, то ПередЗаписью() вызывается второй раз программно, при этом начинается запись. Все обработчики записи/проведения из модуля объекта и модуля формы вызываются только после второго попадания в процедуру ПередЗаписью()

Файлы к статье

Шаблон 1

 

Шаблон 2
Пустая конфигурация, которая выполняет единственное действие - проведение некоторого документа по описанной схеме.

 

Шаблон 3
Пустая конфигурация, которая только выполняет только одно действие - провести и закрыть.

 

Зачем я написал эту статью?

Возможно, кому-нибудь после прочтения данной публикации придет мысль, что у меня нет собственных идей, и поэтому я пересказываю мысли из типовых конфигураций. НО это не соответствует действительности. На практике я часто сталкиваюсь с ситуацией, что многие разработчики при доработке типовых конфигураций не соблюдают идеологию, заложенную в этих конфигурациях изначально, и придумывают свои способы реализации стандартных действий (например, проведение). При этом зачастую сложность задачи оценивается оптимистично, без учета того, что код будет усложняться при тестировании, демонстрации заказчику, появлении неучтенных моментов и т.д. Это происходит потому, что “вытащить” некоторый механизм из типовой иногда бывает затратно по времени, т.к. там много всего лишнего, связанного со спецификой объекта. Поэтому разработчик понимает, что ему проще придумать свой, пусть неоптимальный механизм, чтобы уложиться в отведенное для задачи время. Из-за этого возникают проблемы на следующих стадиях. Лично мне не очень нравится дорабатывать такие велосипеды. Надеюсь, что после прочтения этой статьи, использовать описанные механизмы будет проще.

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

Наименование Файл Версия Размер
Шаблоны областей модулей
.st 1,94Kb
02.10.16
34
.st 1,94Kb 34 Скачать
Шаблон формы с вопросами перед проведением
.cf 10,47Kb
05.10.16
35
.cf 10,47Kb 35 Скачать
Шаблон проведения документа
.cf 15,07Kb
05.10.16
36
.cf 15,07Kb 36 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. TODD22 19 03.10.16 09:33 Сейчас в теме
Я проанализировал различные объекты типовых конфигураций и создал заготовки для :

Всё это описано на ИТС. Можно ничего не анализировать, а просто почитать ИТС. Что то же мало кто делает....
2. Светлый ум 257 03.10.16 11:15 Сейчас в теме
(1) TODD22, чтобы ИТС почитать к нему доступ нужен
hromovanton; +1 Ответить
3. json 03.10.16 11:27 Сейчас в теме
(1) TODD22,
хотелось бы узнать с какой страницей ИТС вы сравниваете и насколько материал представленный в данной статье совпадает с описанным там. Приведите ссылку на конкретный текст.
Пока предполагаю, что вы путаете шаблон с примером. На ИТС приводятся примеры и методические рекомендации, то есть теория. Я привожу шаблоны, то есть кусочки кода из практики, которые можно вставить при разработке копипастом, изменив несколько деталей. Разница между шаблоном и примером в том, что в примере нужно думать, а в шаблоне вы берете код уже продуманный кем-то другим
toltec; Erase22; Somebody1; Gang031; Maxis; Новиков; +6 Ответить
4. TODD22 19 03.10.16 11:31 Сейчас в теме
(3)
хотелось бы узнать с какой страницей ИТС вы сравниваете и насколько материал представленный в данной статье совпадает с описанным там. Приведите ссылку на конкретный текст.

Про структуру модулей
https://its.1c.ru/db/v8std#content:2149184104:hdoc
Mrgnstrn; Igor_K_; the1; +3 Ответить
5. json 03.10.16 11:40 Сейчас в теме
(4) TODD22, на текущий момент у меня нет доступа к указанному вами разделу.
Планирую посмотреть позже, если совпадение действительно существенное, то заменю первый раздел в текущей статье на что-нибудь другое, т.к. не хочу повторять информацию, описанную в других источниках
6. TODD22 19 03.10.16 11:45 Сейчас в теме
(5)
о заменю первый раздел в текущей статье на что-нибудь другое

Лучше тогда не заменить, а дополнить описанием какие разделы в модулях и для чего. Для тех у кого доступа к ИТС нет.
h00k; json; +2 Ответить
22. webester 32 11.06.18 14:06 Сейчас в теме
(5)Вот вам то, что написано(смотрите вложение) если хотите иметь доступ к ИТС легально спросите меня как
Прикрепленные файлы:
456.pdf
24. Hans 1 14.10.19 10:04 Сейчас в теме
20. unichkin 1252 11.01.17 17:17 Сейчас в теме
(1)(2)В ИТС уже несколько лет работает тест-драйв.
Хорошая статья, такие нужны - и как можно больше. Чтобы наконец донести свет в массы:) По моему опыту - 6 из 10 программистов о ИТС тупо не знают. А из оставшихся трое - кладут на все это со словами "мне некогда", и тратят в 10 раз больше времени в попытках разобраться со своим-же кодом...
25. Hans 1 14.10.19 11:37 Сейчас в теме
(20) Тест драйв ни о чем. Просто посмотреть что там есть вообще, или искать решение конкретной задачи. Толк от этого только сиюминутный.
7. pbazeliuk 1746 03.10.16 14:33 Сейчас в теме
(0) В "модуле менеджера объекта" забыли про директивы компиляции, это очень важно для работы конструктора запросов в "Управляемом приложении (Толстый клиент)", а так же для ЦУП.
JohnyDeath; h00k; artbear; +3 Ответить
8. json 03.10.16 23:09 Сейчас в теме
(7) pbazeliuk, замечание справедливо. Исправил в статье
pbazeliuk; +1 Ответить
9. klinval 292 05.10.16 11:33 Сейчас в теме
Вопрос про "3. Шаблон управляемой формы документа, в котором перед проведением требуется задавать вопросы пользователю с запретом модальных вызовов":
1. Для какой конфигурации у вас примеры? Например ОбщегоНазначения.ОбработатьЗаписьОбъектаВФорме например в БП 3.0.44.124 нет.

Замечания:
1. Не обработана ситуация, когда пользователь нажимает крестик. Он нажимает крестик задаётся 3 вопроса (1 стандартный - платформенный), пользователь ожидает, что документ закроется, но он остаётся. У меня есть статься по данной теме Как использовать ПоказатьВопрос в обработчике формы ПередЗаписью там эта ситуация разбирается.
2. Лучше как нибудь по-другому назвать переменную НеВыполнятьПроверкуПередЗаписью. Тоже когда-то называли переменные с НЕ в начале. Потом появлялись конструкции вида:
Если Не НеВыполнятьПроверкуПередЗаписью Тогда

, которые ломали мозг при прочтении... Долго приходится соображать что делать если НеВыполнятьПроверкуПередЗаписью = Ложь. Плюс где-то на ИТС видел рекомендации 1С, что так называть не стоит.
Думаю заменить НеВыполнятьПроверкуПередЗаписью на ОтключитьПроверкуПередЗаписью будет правильней. Логику менять не придётся, только название переменной.
10. TODD22 19 05.10.16 11:38 Сейчас в теме
(9) klinval,
НеВыполнятьПроверкуПередЗаписью

Да есть такая рекомендация на ИТС.
Мне тут то же досталась самописная конфигурация там таких "Не НеЗагружено" и тд по 10 штук в одном модуле... сиди мозг ломай....
11. json 05.10.16 11:58 Сейчас в теме
(9) klinval, данный пример из ерпи. Модуль в оригинале называется ОбщегоНазначенияУТКлиент.
Мое мнение такое: если я дорабатываю типовую конфигурацию, то стараюсь максимально следовать принципам, которые в ней используются. Если переменная называется так, и я с этим немного не согласен, то все равно использую подход принятый в системе.
Это совершенно нормально, что не все согласны абсолютно со всеми именами переменных, процедур и т.д.
Если каждый начнет применять собственный подходы (как обычно и происходит), то начинается каша.

По поводу БП - я посмотрю чуть позже, как там реализовано, может быть имеет смысл дополнить статью, подумаю
13. klinval 292 05.10.16 12:44 Сейчас в теме
(11)
Если переменная называется так, и я с этим немного не согласен, то все равно использую подход принятый в системе.

Согласен, что делать то. Но я же не знал, что это вынужденное название из типовой конфы. Вот только получается 1С-ники не следуют своим же правилам...
14. TODD22 19 05.10.16 12:47 Сейчас в теме
(13) klinval,
Вот только получается 1С-ники не следуют своим же правилам...

Когда разбирался в стандартах разработки, я сразу смотрел в типовых(УТ 11 и БП 3). часто встречалось отличие от соглашения по написанию кода.
Там то же люди пишут :)
21. unichkin 1252 11.01.17 19:26 Сейчас в теме
(14)
Когда разбирался в стандартах разработки, я сразу смотрел в типовых(УТ 11 и БП 3). часто встречалось отличие от соглашения по написанию кода.

Смотреть надо в БСП. Я думаю эти огрехи в типовых из-за старого кода - который писался еще в те времена, когда этот момент не был проработан.

(19) По идее, все подобные области должны быть отнесены к разделу "СлужебныеПроцедурыИФункции". Основные разделы модуля регламентированы - именно к ним что-то добавлять не надо. Вот внутри разделов уже можно помещать свое. Скажем, если сложная форма и есть куча обработчиков элементов формы, их можно как-то логически разнести - по страницам например
12. json 05.10.16 12:27 Сейчас в теме
(9) klinval, не согласен с высказанным замечанием, что покрываются не все случаи. Ваше предположение не соответствует действительности. В моем примере кнопка "Х" не доступна.
15. klinval 292 05.10.16 12:48 Сейчас в теме
(12) я скачал ваш CF-ник. Развернул на пустую базу и крестик доступен (см. приложенный файл).
Но допустим туда куда вы разворачивали крестик недоступен почему-то стал. Вы предлагаете другим тоже делать недоступным "Х" на всех стандартных или новых документах, чтобы предложенный функционал покрывал все случаи?
Прикрепленные файлы:
16. json 05.10.16 12:59 Сейчас в теме
(15) klinval, я невнимательно прочитал замечание. Ваша правда.
Чуть позже посмотрю как это обходят в типовых. Исправлю в статье также.
17. klinval 292 05.10.16 13:25 Сейчас в теме
(16) мне Сергей Ожерельев (Поручик) сказал, что
В форме контрагента в бухгалтерии 3.0 последних релизов тоже используется вопрос перед записью примерно по описанной методике.

На тот момент (03.07.2015) так и было, сейчас же не смотрел. Я оттуда код и взял, т.к. сам до этого не мог обойти эту ситуацию. У меня способ изложен в п.5 статьи.

По поводу покрытия на 100% когда "перед проведением требуется задавать вопросы ": к сожалению это невозможно. В той-же типовой БП вот с чем я столкнулся:
В обработчик формы «ПередЗаписью» программа не заходит, если: 1) пользователь нажал на кнопку «Пометить на удаление / снять пометку»; 2) если пользователь нажал на не проведённом документе кнопку «ДТ/КТ». И это не всё: если вы на форме документа создали всё, как я написал, и пользователь из формы списка перепроведёт документ – то никаких вопросов программа ему не задаст. Необходимо все интересующие вас кнопки на форме списка заменять на свои и отслеживать действия пользователя. Ещё у документа может быть не одна форма документа, а несколько (например, документ ПоступлениеТоваровУслуг в БП 3.0, где 3 формы: общая, товары и услуги). В каждой форме документа надо написать много кода…

+ Можно провести документ с формы обработки (внешней или внутренней)... Некоторые моменты ещё можно обойти, но слишком трудозатратно. Да на 100% покрытия обычно и не требуется.
18. json 05.10.16 21:31 Сейчас в теме
(17) klinval, спасибо за подробное описание. Замечание абсолютно справедливо. Посмотрел решение в типовой.
Добавил вот такой код:
&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
	
	ПринудительноЗакрытьФорму = Истина;

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

Теперь поведение корректное. Обновил в тексте публикации и в примере
19. vandalsvq 1147 17.11.16 09:26 Сейчас в теме
Я бы в структуру областей модуля формы добавил еще немного областей

#Область УправлениеФормой - здесь сконцентрированы все методы управления свойствами элементов формы (в спойлере пример процедур)
Методы управления свойствами элементов формы

#Область ЗавершениеНемодальныхВызовов - хотя это спорный момент, кому то нравится по коду распиханные экспорты, мне лично собранные в одном месте
#Область СлужебныеПроцедурыИФункции_БСП - здесь все методы для подсистем БСП которые находятся в форме, причем выделенные в отдельные области вроде Печать, Свойства и т.д.
23. rpgshnik 2158 26.09.18 04:29 Сейчас в теме
Оставьте свое сообщение

См. также

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.10.2014    142299    1941    ekaruk    164    

Файловый менеджер клиент-сервер (УФ)

Универсальные обработки Сервисные утилиты v8 v8::УФ 1cv8.cf Абонемент ($m)

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

3 стартмани

25.03.2019    5459    17    json    1    

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

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

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

5 стартмани

09.01.2019    36943    238    informa1555    200    

Работа с публикациями "Инфостарт"

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    17320    12    RocKeR_13    16    

Консоль запросов с графом (Анализатор сложных запросов) Промо

Консоль запросов v8::УФ v8::Запросы 1cv8.cf Абонемент ($m)

Консоль запросов для анализа запросов с большим количеством временных таблиц и вложенных запросов. Отображает структуру взаимосвязей временных таблиц в виде графа. Позволяет быстро передвигаться по тексту запроса и получать результат выполнения подзапросов. Единственная консоль запросов, которая позволяет выводить результат выполнения вложенных запросов и любой части объединения запроса. Удобное получение данных запроса из отладчика включая временные таблицы. Текст запроса в структурированном виде (можно свернуть, развернуть текст подзапроса). И еще много другого, чего вы не найдете в других консолях запросов. Поддержка УФ и ОФ. Версия 0.9.1 от 18.10.2019 (поддержка WebKit).

10 стартмани

03.05.2017    92802    400    manuel    248    

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

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

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

5 стартмани

09.08.2018    24306    25    informa1555    26    

Работа с данными выбора

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    37035    17    kalyaka    16    

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному

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

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    39675    33    dsdred    36    

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

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

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

3 стартмани

28.10.2018    28083    268    ROL32    67    

Как выполнить отчет на СКД через COM и получить данные отчета?

Практика программирования v8 УПП1 Россия Абонемент ($m)

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    24570    8    wowik    3    

Работа со схемой запроса

Инструментарий разработчика Практика программирования v8 v8::Запросы Абонемент ($m)

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

1 стартмани

24.04.2018    39711    83    kalyaka    34    

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

Инструментарий разработчика Информационная безопасность v8 v8::Права УТ11 Абонемент ($m)

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

10 стартмани

15.03.2018    15637    7    33lab    1    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    44224    155    ekaruk    31    

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

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

08.02.2018    24236    19    mvxyz    17    

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов

Практика программирования v8 1cv8.cf Абонемент ($m)

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    32143    54    rpgshnik    48    

Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример

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

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

1 стартмани

19.01.2018    51680    60    rpgshnik    26    

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

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

25.03.2019    28548    9    tormozit    44    

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула

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

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    34684    27    agent00mouse    0    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

Практика программирования Универсальные печатные формы v8 БП3.0 Абонемент ($m)

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    24053    49    kwazi    6    

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

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

18.11.2017    27391    30    bonv    9    

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

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

24.05.2012    74877    206    moolex    145    

Расширения конфигураций 1С: учимся перехватывать методы

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

30.05.2017    111959    13    signum2009    45    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов

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

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    46072    15    DarkAn    86    

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

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

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

1 стартмани

22.05.2017    30372    94    Silenser    33    

Модель объекта Промо

Инструментарий разработчика v8 Абонемент ($m)

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

1 стартмани

30.06.2019    10154    0    vadim1980    5    

Простой способ индексирования интервалов

Практика программирования v8 Абонемент ($m)

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

1 стартмани

28.09.2016    37493    38    ildarovich    22    

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

WEB Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

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

3 стартмани

19.08.2016    39238    294    hlopik    17    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут

Практика программирования v8 Абонемент ($m)

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

1 стартмани

14.08.2016    43947    36    Demanoidos    60    

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

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

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

1 стартмани

03.07.2019    16565    4    m-rv    86    

Hello world на metadata.js

Инструментарий разработчика WEB Мобильная разработка v8 1cv8.cf Абонемент ($m)

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    54279    111    unpete    208    

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

Внешние источники данных WEB Инструментарий разработчика v8 1cv8.cf Беларусь БУ НДС Абонемент ($m)

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

1 стартмани

28.07.2016    30745    19    c1nil    4    

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

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

11.07.2016    26695    127    o.nikolaev    17    

Консоль запросов + ТЗ как параметры Промо

Консоль запросов v8 1cv8.cf Украина Абонемент ($m)

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

2 стартмани

12.11.2010    31802    58    Kashemir    24    

Хранение файлов в томах на диске (для УПП 1.3)

Практика программирования v8 УПП1 Абонемент ($m)

Доработка типовой УПП 1.3 в плане хранения присоединенных файлов вне базы данных

2 стартмани

05.06.2016    51969    7    wowik    29    

Остатки на каждый день в запросе

Практика программирования Учет ТМЦ Учет ТМЦ v8 1cv8.cf УУ Абонемент ($m)

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

1 стартмани

26.04.2016    49432    19    arakelyan    18    

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

Консоль запросов v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.04.2016    34719    254    1С_Мастер    42    

[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо

Тестирование и исправление Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

1 стартмани

07.10.2014    48120    197    GusevNA    75    

Выполнение JavaScript кода из 1С в объекте Поле HTML Документа (HTML 5) и вызов события в 1С ПриНажатии

Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Пример выполнения JS кода из 1С в Поле HTML Документа под управляемыми формами, с удобным получением результата в 1С(С помощью вызова привязанного события ПриНажатии к элементу ПолеHTMLДокумента)

1 стартмани

22.03.2016    72641    146    igo1    51    

Количество дней недели (понедельников/вторников/...) в заданном диапазоне одним запросом

Практика программирования v8 Абонемент ($m)

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

1 стартмани

03.03.2016    15966    1    Alexander.Shvets    5    

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

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

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

1 стартмани

17.02.2016    45089    47    yuraos    17    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") Промо

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    26737    86    m-rv    57    

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

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

16.02.2016    21113    8    Tatitutu    5    

Мастер рассылки e-mail 2.2 для управляемых форм

Практика программирования Email v8 v8::УФ ERP2 БП3.0 УТ11 Абонемент ($m)

Для пользователей: переделанный из старый разработки под 8.2 с использованием библиотеки Мастер рассылки e-mail 2.2 (ERP, УТ, БП) (Только управляемые формы), который теперь может запускаться под любой версией платформы с разрешенными или запрещенными модальными/синхронными вызовами в конфигурации. Также удобный выбор e-mail и их владельцев с помощью отбора динамического списка по любым критериям и галочки исключения.

1 стартмани

29.12.2015    34991    19    milkers    4    

Нечеткий поиск одним запросом

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

28.12.2015    23896    61    vasvl123    9    

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

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

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

2 стартмани

23.01.2019    22379    245    ROL32    33    

Передача больших пакетов через веб-сервисы

Практика программирования Администрирование данных 1С Внешние источники данных v8 Абонемент ($m)

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

1 стартмани

06.12.2015    52053    47    YPermitin    19    

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

Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8 v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Абонемент ($m)

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

4 стартмани

11.11.2015    36013    131    catsam    8    

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

Консоль запросов v8 1cv8.cf Абонемент ($m)

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

5 стартмани

10.11.2015    38640    75    catsam    11    

Консоль запросов для УФ универсальная 8.3.7.3 Промо

Консоль запросов v8::УФ v8::Запросы 1cv8.cf Абонемент ($m)

Реализован программный вызов консоли для захвата "рваного" запроса, МВТ и параметров. В консоли реализована полная поддержка работы с таблицами значений. Выборочный просмотр пакетов и временных таблиц. Возможность выборочной выгрузки пакета запроса в ТЗ, с последующим её редактированием, сохранением на диск. Использование сохранённой ТЗ в качестве параметра для других запросов. Возможность обхода ТЗ в цикле с выполнением кода. Отсутствуют ошибки при наличии уничтожения временных таблиц. Замер времени выполнения каждого пакета запроса. Приличное окно настройки типа (только для параметров запроса), лёгкое преобразование в список значений и обратно. Поддержка дополнительных типов: ТЗ, Граница, Момент времени, Вид счёта, Вид движения и т.д. Форматирование типа значения при выводе запроса (NULL, пустая ссылка, пустая строка и т.п.). Наверное, самый лучший подбор ширины колонок. Возможность добавлять листы для вывода результатов запросов. Генерируется текст для конфигуратора с учётом количества результирующих пакетов, для каждого пакета можно настроить выборку или выгрузку и пересоздать текст.... Короче, лучше один раз увидеть ...

5 стартмани

12.03.2015    138711    3399    akor77    715    

Быстрое определение интервалов в запросе

Практика программирования v8 Абонемент ($m)

В статье описывается новый метод определения интервалов между данными различных записей в запросе. В отличие от общеизвестного метода, время работы предлагаемого метода зависит от объема данных ЛИНЕЙНО. Это обеспечивает ему значительный выигрыш по быстродействию на больших объемах данных. В качестве иллюстрации возможностей метода приведен отчет, показывающий гистограмму распределения времени между продажами.

1 стартмани

01.10.2015    46981    32    ildarovich    41    

Полезные приемы при работе с Excel из 1С (Версия 3.1)

Практика программирования Разработка внешних компонент Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.09.2015    172855    424    Zerocl    65    

Code First и Linq to EF на примере 1С версии 7.7 и 8.3 часть I

Практика программирования v8 Абонемент ($m)

Данный проект является чисто исследовательским примером использования Code First и Linq to EF на примере 1С версии 7.7. Так как сам я программист 1С, то мне всегда было интересно, как можно перенести модель объектов 1С на компилируемые языки, и использовать мощь Linq to EF. С появлением Code First давно хотел прикрутить, но все как-то руки не доходили, и вот, наконец ..

1 стартмани

28.08.2015    20973    3    Serginio    2    

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

Сервисные утилиты Инструментарий разработчика Универсальные обработки v8 Абонемент ($m)

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

1 стартмани

18.08.2015    28573    43    anig99    1