Автоматическое добавление новых реквизитов на форму (УФ)

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

Разработка - Работа с интерфейсом

38
Идея такая: Программист добавил реквизит в объект. В комментарии этого реквизита прописал некое спец. слово (можно не матерное). На форму объекта новый реквизит далее попадает автоматом в спец. группу "Дополнительно".

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

Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт

который вызывается из одноимённых процедур каждой формы, сделанной по технологии БСП.

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

Идея такая:

Программист добавил реквизит в объект. В комментарии этого реквизита прописал некое спец слово (можно не матерное).

На форму объекта новый реквизит далее попадает автоматом в спец группу "Дополнительно".

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

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

//Добавляет нетиповые доп реквизиты на форму
//1. реквизит считается дополнительным, если его комментарий начинается со строки "+доп"
//(смысловая нагрузка: "+" = добавить, "доп" = на закладку "Дополнительно")
//2. реквизит добавляется на форму, только если в ней используется механизм доп реквизитов БСП
//(а он используется почти во всех формах элемента)
//определяется это по наличию в элементах формы группы "ГруппаДополнительныеРеквизиты"
//
//Автор: Патриот 2016_07
Процедура _ДобавитьНетиповыеРеквизиты(Форма)
	Попытка
		ВсеРеквизиты = Метаданные.НайтиПоПолномуИмени(Форма.ИмяФормы).Родитель().Реквизиты;
	Исключение
		//значит у объекта нет коллекции "Реквизиты" (например у "Журналы документов")
		Возврат;
	КонецПопытки;
	
	Реквизиты = Новый Массив;
	Для Каждого Реквизит Из ВсеРеквизиты Цикл
		Если ВРег(Лев(Реквизит.Комментарий, 4)) = "+ДОП" Тогда
			Реквизиты.Добавить(Реквизит);
		КонецЕсли;
	КонецЦикла;
	
	Если Реквизиты.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;
	
	//Добавляем страницу с Доп реквизитами следом за типовой страницей ГруппаДополнительныеРеквизиты
	ТиповаяГруппа = Форма.Элементы.Найти("ГруппаДополнительныеРеквизиты");
	
	Если ТиповаяГруппа = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	_грДопРеквизиты = Форма.Элементы.Добавить("_грДопРеквизиты", Тип("ГруппаФормы"), ТиповаяГруппа.Родитель);
	_грДопРеквизиты.Заголовок = "Доп реквизиты";
	//копируем свойства новой группы из типовой
	//именно копируем, а не задаём константно, т.к. в разных формах эти свойства м.б. разными
	_грДопРеквизиты.Вид = ТиповаяГруппа.Вид;
	_грДопРеквизиты.Группировка = ТиповаяГруппа.Группировка;
	_грДопРеквизиты.ОтображатьЗаголовок = ТиповаяГруппа.ОтображатьЗаголовок;
	_грДопРеквизиты.Отображение = ТиповаяГруппа.Отображение;
	
	Для Каждого Реквизит Из Реквизиты Цикл
		НовыйЭлемент = Форма.Элементы.Добавить(Реквизит.Имя, Тип("ПолеФормы"), _грДопРеквизиты);
		НовыйЭлемент.ПутьКДанным = "Объект." + Реквизит.Имя;
		НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
	КонецЦикла;
КонецПроцедуры

ОпосляСкриптум:

1. При необходимости, можно сделать так же и для ТЧ.

2. Можно добавлять группу "_грДопРеквизиты" и при отсутствии группы "ГруппаДополнительныеРеквизиты", например в корень формы или искать группу с типом "страницы" и добавлять в неё в качестве последней страницы, но мне пока такого не требовалось.

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

плюсы доп. реквизитов БСП:

  • для добавления доп реквизита БСП не нужен программист
  • пользователь может задать условие видимости реквизита
  • не требуется обновление БД (а в случае добавления реквизита обновиться динамически нельзя - надо гнать всех пользователей из базы)

плюсы обычных реквизитов:

  • работа в запросе (для выбора каждого доп реквизита надо делать соединение с ТЧ доп реквизиты)
  • обращение в коде (доп реквизит придётся либо искать по наименованию, чего никому бы не посоветовал, либо хранить на него ссылку в некоем соответствии (в ПВХ или РС) в базе)
  • возможность задавать любые свойства реквизита, например, связь по типу или параметры выбора

------------------------------------
ИНТЕРЕСНЫХ ВАМ ЗАДАЧ, ПЛОДОТВОРНОЙ РАБОТЫ И ОРИГИНАЛЬНЫХ/ОПТИМАЛЬНЫХ РЕШЕНИЙ!!

38

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

Комментарии
Избранное Подписка Сортировка: Древо
1. alex-l19041 8 03.08.16 17:48 Сейчас в теме
Если "Программист добавил реквизит в объект", то что ТАК сложно добавить на форму ???
2. Патриот 236 03.08.16 20:42 Сейчас в теме
(1) alex-l19041, в статье всё написано
при добавлении реквизита в типовую конфу принято на форму его выводить программно. Сие упрощает дальнейшее обновление, поэтому разработчиками БСП для подобных целей заведён специальный ОМ "МодификацияКонфигурацииПереопределяемый"
21. nickVZ 10 25.09.16 14:38 Сейчас в теме
(2) Вообще-то, ныне стало модно Расширение (начиная с 8.3.7, сейчас 8.3.8 ,на которой, в частности, работает актуальный релиз БП3).. И модифицировать формы стало намного легче.
Еще: в упомянутой БП3 нет Общего модуля "МодификацияКонфигурацииПереопределяемый". Извините.
Но проблему общие модули не создают. При обновлении, имеется ввиду. Как и обработчики (подписки на события.
22. Патриот 236 04.10.16 17:12 Сейчас в теме
(21) nickVZ, ваш коммент не связан со статьёй.
3. roofless 22 04.08.16 14:24 Сейчас в теме
на вид гениально, будет рабочая задача - проверим
4. Yashazz 2849 04.08.16 15:19 Сейчас в теме
(3) roofless, где тут гениальность? Азы и трюизмы, баян баяном.

Автор, а если нужно не поле ввода? А если доп.реквизиты вырублены функ.опцией?
spy-83; ret-Phoenix; h00k; Spacer; +4 1 Ответить
5. Патриот 236 04.08.16 17:45 Сейчас в теме
(4) Yashazz,
баян баяном
может ещё и аргументы на сей счёт есть?
а если нужно не поле ввода?
А если то, а если сё... Вы, вроде, матёрый автор и д.б. в курсе, что у каждого решения есть своя область применения. Пересекается ли она с областью ваших задач или нет -- это другой вопрос, и, если нет, то просто нужен другой инструмент (!!) =))
А если доп.реквизиты вырублены функ.опцией?
не тестил, но не думаю, что в данном случае с формы удаляется группа "ГруппаДополнительныеРеквизиты", так что всё д.б. ок.
10. Yashazz 2849 07.08.16 13:05 Сейчас в теме
(5) аргументы есть - этот элементарный код встречается во множестве типовых конфигураций, а маркировка задач реквизита в его комментарии служебной строкой (в т.ч., кстати, xml со всеми нужными данными или строкой для НСтр) во множестве оригинальных и допиленных, и сам юзаю ещё с 8.0

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

Насчёт "ГруппаДополнительныеРеквизиты" - вы что, правда думаете, что БСП и вообще механика типовых стабильно соблюдает нотацию имён и принцип построения форм? Вы можете быть гарантированы, что есть подобная группа? Наивно. Гарантированы мы можем быть, только что есть сама форма.

11. Патриот 236 07.08.16 15:43 Сейчас в теме
(10) Yashazz,
этот элементарный код встречается во множестве типовых конфигураций
может не этот и не во множестве? Работаю с ЗУП, УТ, ЕРП, ДО и, каюсь, но похожего подхода не встречал. Ну и стоит ли говорить, что этот код был написан мной и с нуля, поэтому я буду воистину удивлён, если вы видели его в типовых))))))))))
Насчёт
универсальность
и завязке на механизмы БСП. Статья не такая длинная, и если бы вы читали, то заметили, что я коснулся момента, как расширить её универсальность.
12. Yashazz 2849 09.08.16 18:31 Сейчас в теме
(11) если Вы не видели, как в типовых конфах динамически создаются реквизиты на формах, то что я могу поделать... А если вы не видели, как ещё в 7.7 в комментариях к реквизитам писали служебные обозначения - тем более.
13. Патриот 236 10.08.16 10:47 Сейчас в теме
(12) Yashazz, полно вам уже. Ну я же в первых строках статьи написал о том, что в БСП, а значит и
в типовых конфах динамически создаются реквизиты на формах
а далее идёт рассказ о предлагаемой модификации этого процесса
6. roofless 22 05.08.16 08:08 Сейчас в теме
(4) Yashazz, когда зашел в этот модуль в нашей бухии 3.0, то увидел километры однотипных строк кода по добавлению нетипового функционала.
никто и не задумывался, что это можно упростить, тк копипастить было быстрее.
на универсальность этот метод не претендует, но как идея для развития вполне пойдет.
при крике "баяяян!" в народе принято бросать ссылкой)))
json; AzagTot; +2 Ответить
7. Alias 153 05.08.16 11:57 Сейчас в теме
Как замена типовому механизму "доп.реквизитов", но избавленная от нескольких его минусов -- очень даже неплохая идея.

Если нужно не поле ввода (один из вопросов) -- можно ведь и расширить функционал. Например, реализовать гораздо более сложную чем просто "+доп" нотацию описания реквизита. представьте себе нотацию типа "+доп(ПолеВвода="Новый заголовок")" (обычное поле ввода с заголовком) или "+доп(ПолеВыбора[1="вариант 1",2="вариант 2",3="вариант 3"]="Выберите вариант"", который сделает радиобатон на три варианта.

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

Зато она простыми силами быстро решает простые задачи, и точно уж может конкурировать (а иногда и превосходить!) типовой механизм "доп.реквизитов" в БСП.
Патриот; roofless; +2 Ответить
8. monkbest 103 05.08.16 15:24 Сейчас в теме
(7) Alias, расширения не везде доступны, если у конфы выставлен режим совместимости то не будет расширений, а УТ 11 с режимом совместимости
9. Alias 153 05.08.16 17:30 Сейчас в теме
(8) monkbest, Ваш довод подтверждает что предложенная автором идея имеет место быть, а в случае невозможности пользоваться расширениями -- даже очень выигрышно смотрится.

Однако наряду с этим не могу не отметить, что Ваши данные несколько устарели, и УТ11 уже вполне себе работает с расширениями, т.к. имеет режим совместимости "Версия 8.3.6" уже с октября 2015 года.
14. PrinzOfMunchen 75 08.09.16 21:01 Сейчас в теме
Вы серьёзно? АВТОМАТИЗАЦИЯ и УНИВЕРСАЛЬНОСТЬ через строковый комментарий в виде "спец слова"? Всего лишь добавить реквизит в КОНФИГУРАТОРЕ и НЕ нужен программист? Пускать обычных пользователей в конфигуратор? Я бы ещё хотя бы просто по улыбался и мимо прошёл, если бы тут был очередной супер-универсальный регистр-сведений, в котором просто указывалась привязка через метаданные, какой реквизит выводить в доп. реквизиты, но это......
А когда один пользователь должен только видеть реквизит, второй редактировать, а третий ни того ни другого? Спец-слово для каждого случая? И потом снова километры ненужного кода, да ещё и недокументированного....
Может , чтобы обойтись без программиста, хоть для управления выводом реквизитов, дать возможность пользователю это делать на стороне предприятия?
Если вы уж добавляете реквизит в типовой объект, то и тот же "левый" (свой) примитивный регистр сведений погоды не сделает.
Ну а если хотите чтобы прям автоматизация и универсальность, то может и подсистемку свою?
Я, в своё время, делал для управляемого приложения подсистему конструктора управляемых форм в режиме предприятия. То есть, всё как в конфигураторе, только в предприятии. Для любого объекта, накидал свою сборку элементов, можешь даже отчет с СКД привинтить, сохранить как элемент своего справочника, например, "Дополнительные элементы формы для договора контрагента". Привязал конкретному пользователю. Только я делал динамический рабочий стол. А в принципе-то, взял и запилил бы регистр сведений, в котором к элементу справочника "ИдентификаторыОбъектовМетаданных" привязывались бы по пользователям элементы моего справочника. С указанием, в какую форму и в какую группу выводить.
Ну как вариант. Тут хоть какая-то универсальность...Можно вообще без конфигуратора обойтись. Создал доп. реквизит типовой, а вывод его уже свой сделал, так же в предприятии.... Чуть универсальнее, не правда ли?
15. Патриот 236 08.09.16 23:20 Сейчас в теме
(14) PrinzOfMunchen, вы как-то криво читали и в голове всё перемешалось у вас. Пересказывать вышеописанную статью мне лень и это бессмысленно. Во первых, потому, что если всё разжёвывать каждому, то больше ни на что времени не останется, а всё равно найдутся те, кто не воспримет разжёвывания. Во вторых, потому, что разжёвывание провоцируют у читающих лень, и, вместо того, чтобы разобраться самостоятельно и читать хоть сколько-нибудь внимательно, они будут постоянно надеяться на разжёвывания.
Но всё же одну подсказку я сделаю:
Всего лишь добавить реквизит в КОНФИГУРАТОРЕ и НЕ нужен программист?
вот это ваше ошибочное высказывание является следствием того, что вы читали через слово и скорее всего в произвольном порядке
16. PrinzOfMunchen 75 09.09.16 05:15 Сейчас в теме
(15) а разница? Это-то мелочь. Ключевое что в статье? "В комментарии этого реквизита прописал некое спец слово (можно не матерное).".
Это вот вообще не комильфо.
Сама идея не нова. Да и реализация могла быть универсальнее. Притензия к этому.
17. Патриот 236 09.09.16 09:36 Сейчас в теме
(16) PrinzOfMunchen,
  • Так если нет разницы, зачем вы эту "мелочь" в комментарии пишете?
  • Если вам надо универсальности, пишите универсальный код, благо разработчики БСП предоставили для этого удобную возможность, и в статье описано, где это делать.
  • Если же у вас возникает задача, к которой подходит удобный "молоток" предложенный в статье, то и пользуйтесь на здоровье. Но не стоит тратить своё и моё время на то, чтобы рассказать мне, как много есть случаев, где "молоток" не подходит, а нужен "трактор" (на который я сослался в статье, как уже упомянул во втором пункте).
  • То, что класс задач, решаемых предложенным "молотком", существует, доказано моим опытом, но главное - существованием механизма доп реквизитов БСП. С которым я и сравнил достоинства и недостатки своего "молотка".
18. PrinzOfMunchen 75 09.09.16 16:40 Сейчас в теме
(17) в том-то и дело, что это не молоток, а телевизор, для забивки гвоздей. Забить конечно можно, и всё будет ок,, с этим никто не спорит. Но это что-то вроде: "когда вам лень потратить 30 минут и сходить за молотком, или собрать свой, возьмите мой телевизор и забейте гвозди им!". Вот только таких телевизионщиков уже тоже целый вагон.
19. Патриот 236 09.09.16 16:49 Сейчас в теме
(18) PrinzOfMunchen, это ваше мнение. Почему я считаю его неправильным вытекает из статьи и комментов под ней. Но я бы рекомендовал потратить ваш напор на статьи про пере нумераторы, печатные формы и прочую лабуду, которой кишит ИС, а не докапываться к разработкам по принципу "мне этот инструмент не нужен - значит фигня".
20. PrinzOfMunchen 75 11.09.16 15:50 Сейчас в теме
(19) я не говорю, что идея плоха. Нормальная, адекватная идея, да ещё и с кодом написанным в подходящем месте. Но подход... Не собираюсь вступать в дальнейшую бессмысленную полемику. Со временем сами придёте к более системному подходу и осознаете, чем плоха зависимость от "специальной строки". Просто вас же и не окрепшие умы читают. ))) Решат, что это верх автоматизации, а потом и докажи, что язык 1С не "козёл". ))
Оставьте свое сообщение

См. также

Создание асинхронных виджетов 59

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

Описание нескольких способов создания асинхронных виджетов для 1С:Предприятия. Рассматриваются способы с использованием HTTP-сервисов и фоновых заданий.

16.10.2019    868    YPermitin    9       

Полезняшки по СКД и построителям. Просто код 36

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

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    2242    Yashazz    31       

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

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

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

07.10.2019    5688    HostHost    21       

Формы. Трудности программной работы 68

Статья Программист Нет файла v8 v8::УФ 1cv8.cf Бесплатно (free) Работа с интерфейсом

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

06.10.2019    3236    YPermitin    20       

Лайфхаки 1С (часть 1). Настройки отчетов и печатных форм 1С 33

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

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

02.10.2019    3882    VachKirp    8       

[Механизм интерфейса] Часы 54

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

Добавляем цифровые часы на форму, как бонус рассмотрим вариант и с аналоговыми.

26.08.2019    3049    rpgshnik    33       

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

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

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

17.08.2019    8086    ids79    14       

Произвольная начальная страница через расширение (программно) 41

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

Установка своей формы произвольному пользователю на начальную страницу.

14.08.2019    2483    nagaitseff    11       

Подходы, методы и инструменты UX/UI для разработки эффективных интерфейсов на 1С 31

Статья Программист Нет файла v8 Бесплатно (free) Работа с интерфейсом

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

07.08.2019    4475    IvanAT1981    14       

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

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

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

09.07.2019    6034    ids79    0       

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

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

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

04.06.2019    14046    YPermitin    49       

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП 91

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

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

14.05.2019    7274    Viktor_Ermakov    6       

Свой макет оформления отчета 33

Статья Программист Нет файла v8 v8::СКД Россия Windows Бесплатно (free) Работа с интерфейсом

Пример создания и оформления и применения своего (пользовательского ) макета оформления для СКД.

24.04.2019    4461    olegpkc    5       

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4 101

Статья Программист Нет файла v8 v8::УФ ERP2 УТ11 КА2 Россия УУ Бесплатно (free) Практика программирования Универсальные функции Разработка

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

22.03.2019    8679    ids79    14       

Добавление отчетов в типовые конфигурации 1С 200

Статья Программист Нет файла v8::УФ v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

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

07.03.2019    22999    ids79    32       

Раздельный вывод частей даты на форму без программирования 71

Статья Программист Нет файла v8::УФ 1cv8.cf Бесплатно (free) Работа с интерфейсом

Небольшой лайфхак для повышения удобства редактирования пользователем полей с типом "Дата".

12.01.2019    5665    drmaxart    20       

Динамический вывод таблицы значений на форму 35

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

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

11.01.2019    5616    Vlad1917    26       

Тот самый Рабочий стол. Возрождение легенды 76

Статья Программист Нет файла v8::УФ v8::СКД 1cv8.cf Бесплатно (free) Работа с интерфейсом

Невероятный инструмент построения адаптивных интерфейсов.

30.11.2018    9881    1c-intelligence    23       

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке 463

Статья Программист Нет файла v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Зарплата Управление персоналом (HRM) Бесплатно (free) Универсальные функции

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

14.11.2018    31527    GeterX    93       

Кадровые данные сотрудников в ЗУП 3.1 в отчетах 38

Статья Программист Нет файла v8 v8::СПР ЗУП3.x Россия Управление персоналом (HRM) Бесплатно (free) Универсальные функции

Параметры используемые для получения данных сотрудников в ЗУП 3.1. Пригодится для разработки отчетов как напоминалка.

07.11.2018    12839    fromlion    12       

Прикладной пример переработки стандартной формы РМК - Розница 74

Статья Программист Нет файла v8 Розница УУ Кассовые операции Розничная торговля Бесплатно (free) Работа с интерфейсом

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

04.10.2018    10771    asdfgcom    56       

Добавление расшифровки в стандартные и добавленные внешние отчеты со стандартной формой отчета на СКД 72

Статья Программист Нет файла v8::УФ v8::СКД ERP2 УТ11 Россия Бесплатно (free) Универсальные функции

Описан способ добавления расшифровки отчета на СКД как встроенного в систему, так и добавленного внешнего отчета.

27.09.2018    6496    bmk74    2       

Бодаемся с отображением отборов на управляемых формах 82

Статья Программист Нет файла v8::УФ 1cv8.cf Россия Бесплатно (free) Работа с интерфейсом

Рассмотрим в статье, как настроить отображение пользовательских отборов на форме по своему желанию.

30.05.2018    14452    lemz    14       

Итоги в динамическом списке 47

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

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

28.05.2018    8933    CXY    16       

Программное управление обычными формами документов и справочников в УПП/КА 32

Статья Программист Нет файла v8 v8::УФ КА1 УПП1 Россия Бесплатно (free) Работа с интерфейсом

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

09.05.2018    8382    dima_home    7       

Минимализмы 3 350

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

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    35441    ildarovich    44       

Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок 83

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

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

22.12.2017    18807    rpgshnik    21       

Красивые графики. Пошаговая инструкция (Highstock) 122

Статья Программист Нет файла v8 Бесплатно (free) Работа с интерфейсом

Данный подход опробован на библиотеках: Нighcharts и Highstock. Для работы будет необходима 1С и браузер Google Chrome. Чукча не писатель (первая публикация).

22.11.2017    14147    Degrement    20       

Определяем контекст сеанса 1С программно (Тонкий/Толстый клиенты/HTTP-Сервис/Фоновое задание и т.д.) 31

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

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

08.11.2017    15347    azubar    9       

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода 43

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

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

12.10.2017    14434    for_sale    58       

Меняем стандартную форму выбора для реквизита формы на свою форму с запросом 51

Статья Программист Нет файла v8 Россия Бесплатно (free) Практика программирования Работа с интерфейсом

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

30.09.2017    15737    ah7777777    24       

Подбор в управляемой форме - что может быть проще? 119

Статья Программист Нет файла v8::УФ 1cv8.cf Бесплатно (free) Работа с интерфейсом

Технологии модальности сейчас меняются на технологии асинхронности, многопоточности и прочие дивные вещи, что, в свою очередь, заставляет людей еще чаще спрашивать о том, что да как в этой новой нелегкой жизни. Разбираемся!

19.09.2017    27778    starik-2005    51       

"Мигаем" интерфейсом, или цепочки асинхронных вызовов 71

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Работа с интерфейсом

Как, не блокируя интерфейс, привлечь внимание пользователя к интерфейсным элементам. Или, попросту говоря, "мигнуть" чем-то.

06.09.2017    12569    Chrizt    13       

"Восстановить положение окна" - не помогает. Как я решил проблему. 28

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

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

28.05.2017    46405    niko11s    44       

Как добавить/убрать кота в отчет? 78

Статья Программист Нет файла v8 БП3.0 Бесплатно (free) Работа с интерфейсом

Кот в отчете: кому-то нравится, кого-то жутко бесит. Как избавиться, заменить, оставить (нужное подчеркнуть)?

12.05.2017    23053    starik-2005    16       

Итоги в динамическом списке 46

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

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

03.04.2017    20902    Восьмой    34       

Кнопки управления группировками табличного документа для управляемых форм (через подменю командной панели) 30

Статья Программист Нет файла v8::УФ v8::СКД Бесплатно (free) Работа с интерфейсом

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

02.03.2017    13038    dj_serega    0       

Таблицы на управляемых формах: создание, расширение, управление. 91

Статья Программист Нет файла v8::УФ Бесплатно (free) Работа с интерфейсом

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

10.01.2017    45708    starik-2005    24       

"Распределение в запросе" или "избавляемся от перебора" 182

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

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    27766    alexandersh    45       

Возвращение старого поиска в новых релизах Бухгалтерии предприятия 3.0 35

Статья Программист Нет файла v8::БУ v8::УФ БП3.0 Бесплатно (free) Работа с интерфейсом

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

13.12.2016    17820    ardn    34       

Как "перемотать" динамический список в начало при открытии? (или некоторые нюансы получения данных динамического списка) 57

Статья Программист Нет файла v8 Бесплатно (free) Работа с интерфейсом

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

03.11.2016    19037    Fragster    25       

Парсер JSON (Штатные средства 1С 8.3.6) 59

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

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

29.09.2016    46315    dour-dead    21       

Программное создание графических схем (v.2): API для ГрафическойСхемы 73

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

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

27.09.2016    16860    serg_infostart    15       

Используем механизмы обмена данными БСП для произвольного обмена 147

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции Внешние источники данных БСП (Библиотека стандартных подсистем)

Механизм БСП заточен на обмен XML по правилам обмена. Чтобы использовать его для любого другого обмена, коих в мире немало, требуются доработки. В статье описан вариант, как из положения выйти.

23.08.2016    27640    Патриот    22