Организация функционала наценок по позициям либо сегментам номенклатуры в УТ 11.4

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

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

Произвольный запрос к ИБ виды цен настройка цены видов установка

В статье описан один из методов реализации задачи установки скидок/наценок в соответствии с заданным процентом по позициям/сегментам номенклатуры. Так-же продемонстрирован принцип создания произвольного запроса к ИБ в виде цен. Протестировано на релизе Управление торговлей, редакция 11.4.8.92.

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

Хочу поделиться тем, каким образом данная задача была решена.

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

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

Для реализации данного функционала мы добавили в конфигурацию два объекта: Определяемый тип «ОС_СобственныеКонстанты» (в нем задали составной тип, указав справочники «Номенклатура» и «Сегменты номенклатуры») и справочник «ОС_СобственныеКонстанты» с реквизитами Значение и ДополнительноеЗначение (у обоих реквизитов определяемый тип: ОС_СобственныеКонстанты). Так-же добавили табличную часть с аналогичными реквизитами (префикс добавлен чтобы видно было собственные доработки и при обновлении не возник конфликт имен).

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

Добавим в справочник элемент "Наценка на инструмент". В табличной части зададим сегмент номенклатуры "Инструмент" с наценкой 30% и выделим отдельно позицию "Вентилятор настольный", наценка 25%:

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

Теперь создаем вид цены "Наценка на инструмент", где установим способ задания цены "Произвольный запрос к данным ИБ". При чем для корректной работы нашей создаваемой СКД необходимо установить значение "Произвольный". Если корректировать типовую СКД, то система будет отрабатывать по своим правилам и велика вероятность ошибки.

За основу можно взять любую подходящую СКД.

Логика запроса следующая:

  1. Т.к. наценка будет устанавливаться на базовый вид цены, формируем выборку по регистру сведений "Цены номенклатуры" срез последних, где в условии задаем базовый вид цены;
  2. Выбираем из табличной части справочника "Собственные константы" элементы номенклатуры. В условии задаем ссылку на элемент этого справочника, чтобы для любого вида цены можно было задать свои различные варианты наценок.
  3. Аналогично формируем выборку из нашего справочника по сегментам (при соединении таблиц будет установлен приоритет на элемент).
  4. Соединяем и группируем данные (в моем случае в группировке средняя цена).
  5. И в итоговой таблице считаем цену позиций с учетом полученного процента.

Таблицы запроса:

Часть запроса СКД выложу в виде текста. Вы сможете по этим данным сами соединить таблицы и сформировать итоговый расчет. Готовая СКД есть в прикреплении. Можете ее скачать и просто загрузить в настройках вида цены:

ВЫБРАТЬ РАЗЛИЧНЫЕ
	Сегменты.Номенклатура КАК Номенклатура,
	Сегменты.Характеристика КАК Характеристика,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
	РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментНоменклатуры,
	Сегменты.Номенклатура.* КАК Номенклатура,
	Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
	Сегменты.Номенклатура,
	Сегменты.Характеристика,
	ИспользуетсяОтборПоСегментуНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
	ЦеныНоменклатурыСрезПоследних.Упаковка КАК Упаковка,
	&Валюта КАК Валюта,
	1 КАК Коэффициент,
	(ВЫРАЗИТЬ(ВЫБОР
			КОГДА ВидыЦен.ЦенаВключаетНДС
						И ЦеныНоменклатурыСрезПоследних.ВидЦены.ЦенаВключаетНДС
					ИЛИ НЕ ВидыЦен.ЦенаВключаетНДС
						И НЕ ЦеныНоменклатурыСрезПоследних.ВидЦены.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
			КОГДА ВидыЦен.ЦенаВключаетНДС
					И НЕ ЦеныНоменклатурыСрезПоследних.ВидЦены.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена + ЦеныНоменклатурыСрезПоследних.Цена * ВЫБОР
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
							ТОГДА 0.2
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
							ТОГДА 0.18
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
							ТОГДА 0.1
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
							ТОГДА 0.2
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
							ТОГДА 0.18
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
							ТОГДА 0.1
						ИНАЧЕ 0
					КОНЕЦ
			КОГДА НЕ ВидыЦен.ЦенаВключаетНДС
					И ЦеныНоменклатурыСрезПоследних.ВидЦены.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена - ЦеныНоменклатурыСрезПоследних.Цена * ВЫБОР
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
							ТОГДА 20 / 120
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
							ТОГДА 18 / 118
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
							ТОГДА 10 / 110
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
							ТОГДА 20 / 120
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
							ТОГДА 18 / 118
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
							ТОГДА 10 / 110
						ИНАЧЕ 0
					КОНЕЦ
		КОНЕЦ КАК ЧИСЛО(15, 2))) * ВЫБОР
		КОГДА &Валюта <> ЦеныНоменклатурыСрезПоследних.Валюта
			ТОГДА ВЫБОР
					КОГДА ЕСТЬNULL(КурсыВалютыЦены.Кратность, 0) > 0
							И ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) > 0
							И ЕСТЬNULL(КурсыВалюты.Кратность, 0) > 0
							И ЕСТЬNULL(КурсыВалюты.Курс, 0) > 0
						ТОГДА КурсыВалютыЦены.Курс * КурсыВалюты.Кратность / (КурсыВалюты.Курс * КурсыВалютыЦены.Кратность)
					ИНАЧЕ 0
				КОНЕЦ
		ИНАЧЕ 1
	КОНЕЦ КАК Цена
ПОМЕСТИТЬ ЦеныНоменклатурыПоБазовомуВиду
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, ВидЦены = &БазовыйВидЦены {((Номенклатура, Характеристика) В
			    (ВЫБРАТЬ
			        ОтборПоСегментуНоменклатуры.Номенклатура,
			        ОтборПоСегментуНоменклатуры.Характеристика
			    ИЗ
			        ОтборПоСегментуНоменклатуры
			    ГДЕ
			        ОтборПоСегментуНоменклатуры.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры))}) КАК ЦеныНоменклатурыСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, ) КАК КурсыВалютыЦены
		ПО ЦеныНоменклатурыСрезПоследних.Валюта = КурсыВалютыЦены.Валюта
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, Валюта = &Валюта) КАК КурсыВалюты
		ПО (ИСТИНА)
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
		ПО (ВидыЦен.Ссылка = &ВидЦены)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ОС_СобственныеКонстантыДанные.Значение КАК Номенклатура,
	ВЫРАЗИТЬ(ЕСТЬNULL(ОС_СобственныеКонстантыДанные.ДополнительноеЗначение, 0) КАК ЧИСЛО(15, 2)) КАК ПроцентПоНоменклатуре
ПОМЕСТИТЬ ПроцентыПоНоменклатуре
ИЗ
	Справочник.ОС_СобственныеКонстанты.Данные КАК ОС_СобственныеКонстантыДанные
ГДЕ
	НЕ ОС_СобственныеКонстантыДанные.Значение ССЫЛКА Справочник.СегментыНоменклатуры
	И ОС_СобственныеКонстантыДанные.Ссылка = &Наценка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ОС_СобственныеКонстантыДанные.Значение КАК НоменклатураСегмент,
	ВЫРАЗИТЬ(ЕСТЬNULL(ОС_СобственныеКонстантыДанные.ДополнительноеЗначение, 0) КАК ЧИСЛО(15, 2)) КАК ПроцентПоСегменту
ПОМЕСТИТЬ ПроцентыПоСегментам
ИЗ
	Справочник.ОС_СобственныеКонстанты.Данные КАК ОС_СобственныеКонстантыДанные
ГДЕ
	ОС_СобственныеКонстантыДанные.Значение ССЫЛКА Справочник.СегментыНоменклатуры
	И ОС_СобственныеКонстантыДанные.Ссылка = &Наценка
;

В параметрах зададим базовый вид цены "Себестоимость" и нашу наценку:

Для простоты примера установил себестоимость вручную для 3-х элементов сегмента и рассчитал данные:

При формировании цен расчет автоматически не выполняется (не могу сказать почему) и для пересчета необходимо выбрать пункт меню "Рассчитать вычисляемые (по данным ИБ и формулам)":

Все три позиции есть в сегменте. Однако 1-й Вентилятор рассчитался исходя из установленной наценки в 25, а не 30%, т.к. он был в справочнике выделен отдельно.

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

Наименование Файл Версия Размер
Организация функционала наценок по позициям либо сегментам номенклатуры в УТ 11.4:

.xml 23,48Kb
1
.xml 23,48Kb 1 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Alexey-Alyosha 08.08.19 18:18 Сейчас в теме
Статья очень помогла. Спасибо!
Сначала хотел сделать аналогично, но используя доп реквизиты номенклатуры и сегмента, задавая в них процент наценки. Однако в этом случае не получилось бы при расчете нескольких видов цен для одной и той-же позиции либо сегмента номенклатуры задать различные проценты наценок. А так - все универсальненько. И типовые объекты не задеты. Да и справочник "Собственные константы" думаю еще не раз пригодиться. В том числе и при разработке обменов.
cheiser1982; +1 Ответить
2. cheiser1982 99 08.08.19 18:21 Сейчас в теме
(1) Рад что пригодилась! У нас кстати данный справочник так-же принимает участие в различных обменах между системами.
Alexey-Alyosha; +1 Ответить
Оставьте свое сообщение

См. также

Режим дополненной реальности ActiveCV и его применение в конфигурациях. UPD:Добавил еще один пример Промо

Мобильная разработка v8::Mobile Абонемент ($m)

Новый режим дополненной реальности/компьютерного зрения может дополнить или даже заменить традиционный интерфейс – он организует непрерывный процесс работы в котором с видеопотока снимается все необходимое , обрабатывается в обработчиках и тут же рисуется на видеопотоке (как бы в дополненной реальности). Можно использовать как в онлайн-конфигурациях с обработкой в 1С, так и самостоятельных конфигурациях с обработчиками на Python. Настоящая статья является дополнением к основной статье по платформе Simple UI https://infostart.ru/public/1153616/

1 стартмани

20.04.2021    2755    informa1555    12    

Создаем интернет-магазин на бесплатной CMS PrestaShop с открытым кодом за 60 минут

Розничная торговля WEB v8 v8::ОУ УТ11 УУ Абонемент ($m)

Описано пошаговое создание полноценного действующего интернет-магазина. Бесплатно. Без программирования. Без навыков администрирования. Для "чайников".

1 стартмани

31.05.2021    735    andryandry    0    

БСП. Подключаемые команды. Команды заполнения

БСП (Библиотека стандартных подсистем) v8 ERP2 БП3.0 ЗУП3.x Россия Абонемент ($m)

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

1 стартмани

11.05.2021    3618    kondrp    7    

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

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

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

1 стартмани

22.02.2021    895    plotnikov1c    2    

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

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

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

1 стартмани

25.03.2019    41690    tormozit    58    

Как сдать экзамен 1С:Специалист по платформе?

Решение задач на 1С:Специалист v8 Россия Абонемент ($m)

Не пора ли получить сертификат 1С:Специалист по платформе? Для этого ...

1 стартмани

18.01.2021    13621    vasilievil    10    

Сквозной пример задачи оперативного учета (ОУ) при подготовке к экзамену "1С:Специалист" по платформе

Механизмы оперативного учета Решение задач на 1С:Специалист v8 v8::ОУ Абонемент ($m)

Разберём на примере некоторые обобщённые вопросы по задачам оперативного учёта при подготовке к экзамену "Специалист" по платформе (две методики контроля отрицательных остатков), работа с планов видов характеристик и создание требуемого на экзамене заголовка вида отчета в СКД.

1 стартмани

10.12.2020    1576    v_moskalyk    5    

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

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

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

1 стартмани

09.10.2020    5596    hexhoc    12    

План подготовки к аттестации на 1С: Специалиста по платформе (+ Ссылки на материалы) Промо

Решение задач на 1С:Специалист v8 Россия Абонемент ($m)

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

1 стартмани

23.12.2017    24679    UtSpar    39    

Программная корректировка при выводе отчета СКД

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

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

1 стартмани

08.10.2020    7667    dabu-dabu    13    

Библиотека программного изменения формы (УФ)

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

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

1 стартмани

07.08.2020    5873    BuriyLesha    17    

Работа с хранилищем конфигурации из режима 1С: Предприятие минуя конфигуратор

Хранилище v8 1cv8.cf Абонемент ($m)

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

3 стартмани

11.06.2020    7012    MaxxG    19    

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

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

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

2 стартмани

08.05.2018    28106    wowik    3    

История данных и БСП

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

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

1 стартмани

09.06.2020    4651    zeegin    17    

Telegram bot API - разбор документации с примерами

WEB v8 Абонемент ($m)

Перевод документации на язык 1С.

1 стартмани

06.04.2020    63046    leongl    64    

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

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

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

1 стартмани

19.01.2018    65819    rpgshnik    31    

Запуск фонового задания во внешней обработке без регистрации в справочнике "Дополнительные отчеты и обработки"

Практика программирования v8::УФ ЗУП3.x Россия Абонемент ($m)

Описал, как показать прогресс выполнения длительной операции во внешней обработке, и при этом не регистрировать обработку в справочнике "ДополнительныеОтчетыИОбработки". Проверял на БСП версии "3.1.2.264".

1 стартмани

09.03.2020    5818    VinnieThePOOH    5    

Методика обновления формы объекта данных при изменении объекта

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

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

1 стартмани

09.03.2020    15375    tormozit    14    

Конвертация данных 2. Использование исходящих и входящих данных. Свойство "Получить из входящих данных"

Обмен данными 1С Перенос данных из 1C8 в 1C8 v8 КД Абонемент ($m)

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

17.02.2020    22818    Drivingblind    34    

Как нарисовать граф на 1С Промо

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

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

1 стартмани

09.08.2013    72321    ildarovich    117    

Вывод сообщений в HTML поле средствами 1С

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

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    7137    burni4    16    

Как в 1С создать паутинку "как на Инфостарте"

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

Добрый день, уважаемы коллеги! В этой статье я расскажу, как в 1С создать отчет - "паутинку" на примере отчета по компетенциям сотрудника (разрабатывала на платформе 1С:Предприятие 8.3 (8.3.13.1865).

1 стартмани

15.01.2020    9570    user660153_aleks.pisanets    17    

Краткое руководство по внесению изменений в конфигурацию

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

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

1 стартмани

13.01.2020    20746    sapervodichka    41    

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

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

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

1 стартмани

28.09.2016    41136    ildarovich    22    

Разбираемся с web-kit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4. Допиливаем обмен с сайтом в УТ 11.4

Обмен данными 1С Интеграция Адаптация типовых решений v8 v8::УФ УТ11 Абонемент ($m)

Многие уже знают, что в релизе платформы 8.3.14.1565, браузер Internet Explorer был заменен на Web-Kit, это на самом деле большой шаг вперед, но я уверен, многим, как и мне, пока не совсем понятно, что к чему. Возник опыт использования web-kit в 1С, вызова JS из 1С и вызова 1С из JS. Давайте вместе попробуем понять, чем одно отличается от другого, и заодно сделаем, что-нибудь полезное. Да и наверняка многим придется переписывать свои подобные поделки после обновления на новую платформу, так что надеюсь мой опыт окажется полезным.

2 стартмани

08.12.2019    9217    Бэнни    25    

Генерация управляемой формы на основе обычной (proof of concept)

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

06.11.2019    7941    user700211_a.straltsou    21    

Массовое изменение режима поддержки объектов конфигурации

Структура метаданных v8 1cv8.cf Абонемент ($m)

Что делать, если при сравнении/объединении конфигураций нужно изменить режим поддержки для большого количества объектов? Штатного механизма для выполнения подобной задачи в Платформе нет. Изменять режим для всей конфигурации? Описывается способ, позволяющий выполнить изменение режима только для нужных объектов.

05.11.2019    4572    VKislitsin    6    

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

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

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

1 стартмани

01.02.2018    36980    rpgshnik    49    

"Живые" картинки со Snap.SVG

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

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    14624    blackhole321    7    

Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. Авторизация

WEB v8 Абонемент ($m)

Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью функционала Rest API предоставляемого платформой (CMS) WordPress (WooCommerce). Без дополнительных приложений на PHP/вставьте сюда любой другой язык программирования/.

1 стартмани

12.10.2019    41426    osivv    36    

RLS - дубли условий в запросах к СУБД

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

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

1 стартмани

07.10.2019    9441    geron4    4    

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

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

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

1 стартмани

10.05.2018    50192    dsdred    44    

Вебхук. Путь Телеграма

Внешние источники данных Интеграция v8 Абонемент ($m)

Долгое (на самом деле нет) и нелегкое путешествие телеграма к неведомым (из за РКН) конфигурациям 1С. Памятка себе.

1 стартмани

03.10.2019    21949    platonov.e    26    

Многопоточная обработка данных на примере перепроведения документов

Обработка документов Практика программирования v8 ERP2 УТ11 КА2 Абонемент ($m)

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

1 стартмани

17.09.2019    11301    ids79    46    

Описание формата внутреннего представления данных 1С в контексте обмена данными

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

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    21001    Dementor    31    

Некоторая работа с данными через COM Промо

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

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

2 стартмани

05.12.2012    59183    wowik    32    

Еще один способ программной модификации управляемых форм

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

03.09.2019    4942    infosoft-v    15    

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

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

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

1 стартмани

27.08.2019    12187    ids79    22    

Обмен большими данными между клиентом и сервером

Внешние источники данных v8 Абонемент ($m)

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

1 стартмани

27.08.2019    15206    logos    32    

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

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

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

1 стартмани

24.04.2018    48866    kalyaka    39    

Простая выгрузка данных в универсальном формате Enterprise Data

Обмен через XML v8::УФ Розница УНФ ERP2 ЗКГУ3.0 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

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

2 стартмани

26.08.2019    14180    Iyar    5    

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

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

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

2 стартмани

24.08.2019    14818    BenGunn    22    

Изменяющееся контекстное меню в 1С 8.3

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

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

1 стартмани

06.08.2019    20159    signum2009    16    

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

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

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

26.05.2017    50725    DarkAn    86    

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery с кэшированием

WEB v8 1cv8.cf Абонемент ($m)

В статье описан способ создания "фронтенда" на HTML/CSS/jQuery и скрипт кеширования AJAX запросов на PHP.

1 стартмани

06.08.2019    14792    Sedaiko    25    

Менеджер потоков: реализация "любой" задачи в потоках

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

Менеджер потоков – один их новых инструментов, который упрощает работу разработчиков. Насколько легко с ним, на конференции Infostart Event 2018 Education показал начальник отдела автоматизации 1С Иван Филимонов компании «Трансстроймеханизация».

01.08.2019    10862    DarkAn    7    

Процедура ПриКомпоновкеРезультата

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

Коллекция кода

1 стартмани

26.07.2019    51677    vasilev2015    64    

Агрегатное суммирование строк в запросе – сложно, но не невозможно Промо

Математика и алгоритмы v8 Абонемент ($m)

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

1 стартмани

09.09.2013    82551    ildarovich    57    

Ловец дедлоков СУБД

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Россия Абонемент ($m)

Анализ простейшего дедлока СУБД в рабочей базе с использованием ЦУП (центра управления производительностью) и profiler MS SQL (Microsoft SQL Server). Эта статья будет полезна людям, изучающим вопросы оптимизации работы 1С, или тем, у кого возникают дедлоки в рабочей базе. UPD 09.07.2019 добавлено воспроизведение блокировки в случае установки управляемой блокировки перед чтением набора записей регистра сведений. UPD 10.07.2019 добавлена тестовая база с примером.

1 стартмани

08.07.2019    12122    azazana    80    

Мониторинг производительности и искусственный интеллект

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Абонемент ($m)

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

1 стартмани

01.07.2019    10037    ivanov660    28    

"Убер на складе": динамический расчет маршрутов с учетом реальных расстояний

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

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

3 стартмани

24.06.2019    18543    informa1555    17