Расширения конфигурации. Полезные советы для разработки

Публикация № 442003 12.01.16

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

Расширение Расширения конфигурации 8.3.6

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

0. Введение

1. Показать/скрыть неизмененные объекты

2. Последовательность выполнения обработчиков

а) Типовой код -> Код из расширения

б) Код из расширения -> Типовой код -> Код из расширения

в) Типовой код -> Код из расширения -> Типовой код

г) Отменить типовые обработчики

3. Создание и использование общего модуля, модуля менеджера или модуля объекта

4. Как подключить отладку

5. Как писать запросы

6. Как сохранять данные

а) Сохранение данных формы

б) Хранилище пользовательских настроек

7. Как добавить свой макет

8. Как подменить кнопку заполнения табличной части

9. Расширение как багфикс

10. Как вывести свою обработку в интерфейс

11. Как перевести расширение на 8.3.8

12. Как подключить расширение

13. Как обновить расширение

Благодарность

Комментарии

 

0. Введение

 

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

Согласно документации:

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

Основное назначение расширения конфигурации – это доработка прикладного решения при внедрении (или в «облаке») под нужды клиента. При этом дорабатываемую конфигурацию не надо снимать с поддержки. В результате сохраняется простота обновления типового прикладного решения, стоящего на поддержке, с необходимостью выполнять доработки. При разработке расширения следует понимать некоторые особенности функционирования расширения конфигурации. Так, расширяемая конфигурация в любой момент может быть изменена, например, в результате обновления. При этом разработчик расширения не может никак повлиять на возможность или невозможность обновления. Также следует учитывать тот факт, что в системе могут функционировать более одного расширения и автор каждого расширения (в общем случае) не знает, как функционирует другое расширение."

Более подробно о расширениях можно почитать и посмотреть здесь:

Заметки в зазеркалье
Документация
Курсы Гилёва и Насипова
Нюансы расширений
Расширения в 8.3.9

Все функции для объектов расширения

Ниже я приведу полезные советы для работы с расширениями. 

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

 

Итак, поехали!


1. Показать/скрыть неизмененные объекты
 

При добавлении новых объектов в расширение также автоматически добавляются связанные объекты. В результате в метаданных расширения скапливается много служебных объектов.
Для того, чтобы показать только измененные объекты есть кнопка “Измененные и добавленные в расширении”. При нажатии отображаются только добавленные вручную и измененные объекты расширения.
Принцип её работы показан ниже:

 

 

2. Последовательность выполнения обработчиков
 

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

а) Выполнить сначала типовой код, затем код из расширения:

&НаСервере
Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("Сообщение", "ПослеТиповогоОбработчика!");
	УстановитьВыполнениеПослеОбработчиковСобытия("ВыполнитьПослеТиповогоОбработчика", ДополнительныеПараметры);
	
КонецПроцедуры

&НаСервере
Процедура ВыполнитьПослеТиповогоОбработчика(Отказ, СтандартнаяОбработка, ДополнительныеПараметры)

	Сообщить(ДополнительныеПараметры.Сообщение);

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

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

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

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

&НаСервере
Процедура ВыполнитьПослеТиповогоОбработчика(Отказ, СтандартнаяОбработка, ДополнительныеПараметры)

	// Код после типового обработчика из расширения
	Сообщить("После типового обработчика!");

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

в) Выполнить сначала типовой код, затем код из расширения, затем снова типовой код

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

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

г) Отменить типовые обработчики 

&НаСервере
Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Остановим выполнение типовых обработчиков
	УстановитьВыполнениеОбработчиковСобытия(Ложь);
	
КонецПроцедуры

 

3. Создание и использование общего модуля, модуля менеджера или модуля объекта

 

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

&НаСервере
Процедура СообщитьДиректораНаСервере()
	
	Должность       = "Директор";
	ФИОРуководителя = "Иванов И.И.";
	Обработки.Учеб_Обработка.СообщитьДиректора(Должность, ФИОРуководителя);
	
КонецПроцедуры

Модуль менеджера обработки:

Процедура СообщитьДиректора(Знач Должность, Знач ФиоРуководителя) Экспорт
	
	ТекстСообщения = СтрШаблон(
		НСтр("ru='%1 %2'"),
		Должность,
		ФиоРуководителя);
		
	Сообщить(ТекстСообщения);
	
КонецПроцедуры

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

 

4. Как подключить отладку

 

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

 

 

Оно возникает если в конфигураторе открыто наше расширение и лечится только закрытием окна расширения.

Для того, чтобы подключить отладку в расширении следует использовать ключ командной строки - “РежимОтладки”

Это упрощает отладку кода. В частности:

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

Для того чтобы его установить:

  • Запустить предприятия с ключом командной строки - " /C РежимОтладки "
  • В режиме конфигуратора установить параметр запуска:
    Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска: ввести строку <РежимОтладки>

 

При первом подключении расширения или при изменении в версии расширения или поставщика, отладка может не подключится с таким же сообщением.

Для того, чтобы исправить эту ситуацию можно попробовать следующие действия:

1. В конфигураторе закрыть это расширение 
2. Запустить конфигурацию в режиме предприятие и открыть форму, связанную с расширением 
3. Открыть расширение в конфигураторе 
4. Перезапустить отладку.

 

5. Как писать запросы

 

Расширение видит и работает только с теми объектами, которые заимствованы из основной конфигурации.
Объекты, которые не заимствованы, в расширении не видны и при попытке обращения к ним, например, в тексте запроса, в режиме “Конфигуратор” вызывают ошибку. Хотя в пользовательском режиме код выполняется без проблем.

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

 

 

6. Как сохранять данные

 

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

а) Сохранение данных формы

В редактируемой форме можно установить свойство - “АвтоматическоеСохранениеДанныхВНастройках” в "Использовать" и поставить флаг "Сохранение" над нужными реквизитами. Это позволит сохранять значения реквизитов типовым механизмом платформы:

 

Такое сохранение данных реализовано здесь.

 

б) Хранилище общих настроек

В этом хранилище можно хранить любые данные. Подробнее можно почитать здесь.
Рассмотрим пример хранения произвольных данных.

Сохранение данных:

&НаСервере
Процедура ПередЗакрытиемНаСервере()
	
	// Подготовим структуру хранения данных
	СтруктураНастроек = Новый Структура;
	СтруктураНастроек.Вставить("Всем",    Всем);
	СтруктураНастроек.Вставить("Близким", Близким);
	СтруктураНастроек.Вставить("Друзьям", Друзьям);
	// Сохраним данные в хранилище общих настроек
	ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
		"Учеб_СделатьВсёХорошо",
		"Настройки",
		СтруктураНастроек);
	
КонецПроцедуры

Восстановление данных:

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

 

7. Как добавить свой макет

 

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

 

 

 

 

8. Как подменить кнопку заполнения табличной части

 

Иногда может потребоваться и добавить свою кнопку заполнения и оставить типовую кнопку.
Для того, чтобы убрать типовую кнопку подальше, но не удалять её совсем можно установить свойство - “Только во всех действиях” - "Да":

 

 

 

В этом случае кнопка будет доступна из подменю “Еще”. Это позволит в случае непредвиденных ситуаций продолжить работу с типовой функциональностью.

 

9. Расширение как багфикс

 

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

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

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

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

 

10. Как вывести свою обработку в интерфейс

 

Для того, чтобы вывести свою обработку в интерфейс конфигурации необходимо включить её в состав требуемой подсистемы:

 

 

 

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

 

 

 

11. Как перевести расширение на 8.3.8

 

Чтобы перевести расширение на 8.3.8 следует выполнить следующие действия:

1. Снять режим совместимости в расширении.
Установить свойства совместимости такими же как и у основной конфигурации.

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

3. Обновить формы в расширении.
Следует обновить формы расширений из основной конфигурации. Чтобы и в расширении и в конфигурации формы были одинаковыми.

4. Привести компоновку формы к новым правилам движка.
С рекомендациями по адаптации форм к новой платформе можно ознакомиться по этой ссылке

5. Проверить, что расширение выглядит и работает правильно.

 

Более подробно по каждому пункту описано в этой памятке. Там же приведены полезные материалы по теме.

 

 

12. Как подключить расширение

 

1. Администрирование - "Печатные формы и обработки"

2. Гиперссылка "Расширения"

3. Кнопка "Добавить" - Выбираем файл

4. Кнопка "Перезапустить"

5. Готово!

 

 

13. Как обновить расширение

 

1. Администрирование - "Печатные формы и обработки"

2. Гиперссылка "Расширения"

3. Встаем на нужное расширение

4. "Еще" - Команда "Обновить из файла на диске"

5. Кнопка "Перезапустить"

6. Готово!

 

 

Пока на этом всё!

Благодарность можно выразить денежно, а то кризис, сами понимаете!

 

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

Лучшие комментарии
1. ya.Avoronov 111 12.01.16 11:06 Сейчас в теме
Очень талантливо сделана публикация! Спасибо! Пишите еще!
* Не знал про отладку в расширениях, очень бывает нужно.
* Запросы можно и в консоле запросов стряпать, удобнее.
* Багфикс согласен, очень действенно.
AlexK_2012; Demlan; user790607; VAAngelov; Vailji; _7445_; user1272851; maksa2005; adhocprog; user1194547; SVSVSV999; user660224_laa; Konstantine26; wolder; IT_GG; masterok647; Hamann2008; synelf; BotMan4; houpl; DivS; 18101986; sheykin; olegtymko; bursanb; distorshion; Maxis; awk; pavel_pss; birk; r24al; ram8291; antonst1; Berckk; Montecrizto; e-its; Dmitri93; dj_serega; igormiro; Andry.Boris; Aquashop; onetone; DmitrySinichnikov; isn; kolevatoval; slavap; amon_ra; alexveraww; Dach; DoctorRoza; shalimski; v.yaunzhekars@gmail.com; mrXoxot; +53 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ya.Avoronov 111 12.01.16 11:06 Сейчас в теме
Очень талантливо сделана публикация! Спасибо! Пишите еще!
* Не знал про отладку в расширениях, очень бывает нужно.
* Запросы можно и в консоле запросов стряпать, удобнее.
* Багфикс согласен, очень действенно.
AlexK_2012; Demlan; user790607; VAAngelov; Vailji; _7445_; user1272851; maksa2005; adhocprog; user1194547; SVSVSV999; user660224_laa; Konstantine26; wolder; IT_GG; masterok647; Hamann2008; synelf; BotMan4; houpl; DivS; 18101986; sheykin; olegtymko; bursanb; distorshion; Maxis; awk; pavel_pss; birk; r24al; ram8291; antonst1; Berckk; Montecrizto; e-its; Dmitri93; dj_serega; igormiro; Andry.Boris; Aquashop; onetone; DmitrySinichnikov; isn; kolevatoval; slavap; amon_ra; alexveraww; Dach; DoctorRoza; shalimski; v.yaunzhekars@gmail.com; mrXoxot; +53 Ответить
4. mrXoxot 3046 13.01.16 07:20 Сейчас в теме
(1) ya.Avoronov,
Спасибо! Я старался.

(2) MaxS,
И при последующем обновлении конфигурации расширение может перестать работать

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

Безусловно Вы правы!

(3) white_sochi,
Огромное спасибо! Перевод получил и очень Вам признателен.

Кстати, там можно делать переводы и с телефона...
11. MaxS 2369 15.01.16 10:12 Сейчас в теме
(4)
Кажется, это не так. Еще не проверял, но разработчики платформы заявляли...

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

До появления расширений несколько лет эта конфигурация обновлялась с дополнительным общим модулем, где изменения в формы документов вносились программно. Конфликтов небыло ни разу. Расширение пока не решило этот вопрос.
13. mrXoxot 3046 16.01.16 10:49 Сейчас в теме
(11) MaxS, (12) JohnyDeath,
Да, тут вы правы. Расширение еще не умеет всего делать.

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

Я к нему отношусь как к еще одному инструменту, который может подходить для каких-то задач. А для каких-то быть совсем не пригодным. И это нормально, ведь только из-за того, что оно что-то не умеет не нужно ставить на нем крест.
30. Zhilyakovdr 132 30.03.16 10:51 Сейчас в теме
(11) MaxS, Добрый день!
Насколько я знаю, форму в расширении можно обновить из основной конфы, кнопка в конструкторе форм "Обновить расширение формы", при обновлении все изменения остаются, применяются только изменения из основной конфы.
2. MaxS 2369 12.01.16 14:24 Сейчас в теме
А ещё, если, например, нужно с помощью расширения всего лишь добавить кнопку на форму документа, то придётся тянуть в расширение всю форму. И при последующем обновлении конфигурации расширение может перестать работать.
Почему нет режима объединения элементов расширения с основной конфигурацией? Добавил бы несколько элементов на форму и они бы объединились по именам.
Пока в некоторых ситуациях удобнее программно добавлять элементы на форму. Расширение и здесь плохо помогает, т.к. в общий модуль нельзя внедриться.
97. alarma11 03.05.17 15:08 Сейчас в теме
(2) Думаю, что эта проблема не проблема. Просто в расширении описываешь код кнопки и программно создаешь кнопку при создании на сервере формы. Таким образом, при обновлении формы из основной конфигурации работа сводится не к приведению общего вида формы в порядок (кнопочки пропали/появились) а к приведению в порядок только написанного кода на форме (точнее проверки того, что код расширения не изменился).
Тем более добро пожаловать в 8.3.9 и т.д. где теперь можно почти со всеми модулями проводить махинации.
99. MaxS 2369 03.05.17 15:18 Сейчас в теме
(97) Код в общем модуле доработанной конфигурации содержит несколько строк и не зависит от метаданных. А при попытке перетянуть форму в расширение переносится ещё и куча ссылок на документы и справочники.
Типовых конфигураций на 8.3.9, в которых ведётся учет я пока не встречал.
3. pallid 13.01.16 00:45 Сейчас в теме
Внес свои 5 копеек ))) точнее 4.98, все что было. Спасибо за труд.
Не знал про отладку, раньше писал все в внеш обработках, потом переносил в расширение.
Lem0n; DreamcastMD; v.yaunzhekars@gmail.com; mrXoxot; +4 Ответить
5. FreeArcher 122 13.01.16 10:42 Сейчас в теме
Вот проблемы сейчас писать расширения нет, уже много инфы. А вот четкой уверенности, что после обновления измененной типовой формы не приедятся также перерабатывать эту форму в расширении у меня нет. Вот это тормозит применение расширений при доработках конфигурации.
DFinteX; Kaspirovsky; tormozit; JohnyDeath; ya.Avoronov; +5 Ответить
8. JohnyDeath 300 13.01.16 22:01 Сейчас в теме
(5) вот и я немного прилип после обновления типовой бухгалтерии 3.0. В справочнике "Контрагенты" был переименован реквизит "ОсновнойДоговорКонтрагента" (теперь он "УдалитьОсновнойДоговорКонтрагента") и всё, теперь расширение нерабочее. А допиливал я по мелочи: формы ПКО, РКО, договоры контрагентов
9. mrXoxot 3046 13.01.16 22:07 Сейчас в теме
(8) JohnyDeath,
Кажется, что в этом случае правильно, что отвалилось расширение.

Потому что если стал реквизит Удалить_, то скорее всего его использовать больше не надо. Было бы гораздо больше проблем, если расширение осталось рабочим, но делало что-то совсем другое.
Wdivine; ipoloskov; +2 Ответить
12. JohnyDeath 300 15.01.16 20:57 Сейчас в теме
(9) конкретно в этом случае я просто немного правил под себя типовую форму. А когда первый раз добавлял ее в расширение, то все реквизиты объекта автоматом перешли в расширение. Переименованные реквизиты в расширении вообще не используются, но вот работать перестало все расширение.
6. Dach 331 13.01.16 10:47 Сейчас в теме
Скажите, я правильно понимаю, что теперь благодаря расширениям - можно по сути подписываться на события форм?

"а) Выполнить сначала типовой код, затем код из расширения:"

То есть, например, я хочу знать, что пользователь на форме документа нажал некую очень важную кнопку. Создав расширение и обработчик - могу отслеживать без изменения конфигурации, так?
7. mrXoxot 3046 13.01.16 11:18 Сейчас в теме
(6) Dach,

Да, именно так. В этом одна из прелестей этого механизма.
152. UtSpar 28.12.17 12:35 Сейчас в теме
(7) Никита подскажит поподробнее. создал в расширении подсистему, создал роль и обработку. в итоге подсистема не видна. не подскажите какие подводные камни имеются?
10. frkbvfnjh 646 14.01.16 15:58 Сейчас в теме
Титанический труд! +100500
user1027406; +1 Ответить
133. ariadna-nn 14.09.17 20:14 Сейчас в теме
Никита, хорошая статья.
Сделали расширение с командой "открыть" "свою" добавленную форму.
На платформе 8.3.8 работало. ничего не меняли .на платформе 8.3,9 и на 8.3.10 Выдает ошибку "Неизвестное имя формы".
Что надо поменять для 8.3.9(10)?
вот модуль
Процедура Расш_TXT_НОФ(Команда)
	Если Объект.Проведен Тогда
	Иначе
	
	ЭтаФорма.Записать();
	  Конецесли;
	Если НЕ ТолькоПросмотр Тогда
		ЗаблокироватьДанныеФормыДляРедактирования();
	    КонецЕсли;
	
	ПараметрыФормы = Новый Структура();
	ПараметрыФормы.Вставить("Организация", 					Объект.Организация);
	ПараметрыФормы.Вставить("ДатаДокумента",				Объект.Дата);
	ПараметрыФормы.Вставить("НомерДок",					Объект.Номер);
	ПараметрыФормы.Вставить("ДокСсылка",			Объект.Ссылка);
	
	ОткрытьФорму("Документ.РеализацияТоваровУслуг.Форма.Расш_TXT_Форма", ПараметрыФормы, ЭтаФорма);

// Вставить содержимое обработчика.
КонецПроцедуры
Показать

--------------
текст Ошибки
{ТХТ_ГТД Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаТовары.Форма(166)}: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("Документ.РеализацияТоваровУслуг.Форма.Расш_TXT_Форма", ПараметрыФормы, ЭтаФорма);
по причине:
Неизвестное имя формы. Имя: "Документ.РеализацияТоваровУслуг.Форма.Расш_TXT_Форма"
Прикрепленные файлы:
Doc61.doc
134. ariadna-nn 15.09.17 12:16 Сейчас в теме
(133) Это мы перевели Вам 33р. сегодня ))
176. dobrynin.i.s 92 28.12.18 02:21 Сейчас в теме
(134)Ваша щедрость не знает границ
Yan_Malyakov; +1 Ответить
135. mrXoxot 3046 15.09.17 14:51 Сейчас в теме
(133)
Если ничего не меняли, то скорее всего это ошибка платформы и можете написать им.
Я бы попробовал перенести форму в другое место или скопировать ее и обратиться заново.

(134)
Большое спасибо!
141. julia96_07 11 20.11.17 11:06 Сейчас в теме
(133) Светлана, смогли решить проблему?
14. tormozit 6466 17.01.16 09:47 Сейчас в теме
Гифки хороши только для поверхностного просмотра. На них очень мелко и деталей не видно и нельзя на паузу нажать. Поэтому лучше видеоролики, которые например бы открывались по клику на гифке.
SagittariusA; Yan_Malyakov; ekaruk; Andry.Boris; amon_ra; +5 Ответить
15. mrXoxot 3046 17.01.16 11:32 Сейчас в теме
(14) tormozit,
Согласен. Попробую в следующий раз. А есть где-нибудь примеры?
165. Olenevod 27 04.03.18 13:18 Сейчас в теме
(14) Если интересно, есть хитрый удобный способ сделать паузу гифки. Для этого надо нажать в нужный тебе момент на кнопку закрытия браузера, но не отпускать кнопку мыши (чтоб не закрыть браузер :-) ) потом просто отвести указать в сторону и отпустить.
166. tormozit 6466 04.03.18 14:32 Сейчас в теме
(165)
Рисковать закрытием приложения браузера не хочу. Уж лучше программой захвата экрана пользоваться для редких стопкадров.
16. Доработай 1С 31.01.16 16:21 Сейчас в теме
Спасибо за статью!
Очень аккуратно и качественно сделано.
Приятно читать.
Andry.Boris; +1 Ответить
17. mrXoxot 3046 06.02.16 11:51 Сейчас в теме
Искренне благодарю всех, кто перечислил денежку!

Это очень мотивирует.
И дает понимание, что такие публикации кому-то нужны и полезны!
Благодарю!
18. ben_art 13 26.02.16 14:53 Сейчас в теме
А свои реквизиты в расширении создавать можно ?
98. alarma11 03.05.17 15:13 Сейчас в теме
(18) Пока что (проверено на 8.3.10) нет такой возможности. Планируется ли? - неизвестно.
19. Blind_Guardian 01.03.16 15:59 Сейчас в теме
Хорошая статья, спасибо.
22. mrXoxot 3046 11.03.16 12:07 Сейчас в теме
(19) Blind_Guardian, (21) vlastapov, (20) sudmorsh,
Пожалуйста!
20. sudmorsh 57 03.03.16 16:07 Сейчас в теме
Спасибо за статью!
Приятно читать.
21. vlastapov 49 05.03.16 14:21 Сейчас в теме
Да, с отладкой расширения другое дело, Большое спасибо за науку.
23. polyaka 14.03.16 12:22 Сейчас в теме
Очень удобная статья! Коротко и по делу! Спасибо автору!
24. polyaka 14.03.16 12:34 Сейчас в теме
Очень удобный механизм расширений, когда нужно доработать управляемые формы... Иногда правда, когда разработчики меняют названия реквизитов, приходится допиливать расширения заново... Но это не так часто происходит, поэтому можно и пережить этот момент.
Сейчас столкнулась с такой проблемкой, может кто поможет разобраться:
Добавляю в расширение форму, которая вызывается из основной формы объекта, по гиперссылке (например: Конфигурация БП 3.0, документ "Реализация", форма "ФормаДоставка").
Хочу заполнить часть реквизитов на основании данных из основной формы документа. Как это можно сделать?
Как в расширении обратиться к самому объекту?
25. GreenDragon 18.03.16 11:06 Сейчас в теме
Отличная статья! Также спасибо за дополнительные ссылки.
26. zlato 23.03.16 14:45 Сейчас в теме
Отличная статья! А анимированные изображения облегчают понимание. Спасибо!
27. Alister 9 23.03.16 19:29 Сейчас в теме
И очень вежливый автор.)
28. mrXoxot 3046 24.03.16 09:42 Сейчас в теме
Коллеги! Всех поздравляю.
В 8.3.9 будет существенное развитие механизма Расширения конфигурации.
Почитать можно в зазеркалье.

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

Когда вы заимствуете и расширяете какой-нибудь модуль типовой конфигурации, то ваш расширяющий модуль будет находиться в одном пространстве имён с типовым модулем. Поэтому, находясь в расширяющем модуле, вы можете обращаться к любым переменным и методам типового модуля напрямую.
Если же вы находитесь в другом модуле, существующем в расширении, то вам будут доступны ваши же экспортируемые переменные и методы расширяющего модуля. Потому что они добавляются в результирующий публичный контекст типового модуля.
purgin; Andry.Boris; citicat; vovan_victory; Alister; +5 Ответить
29. Alister 9 24.03.16 10:05 Сейчас в теме
Очень интересные возможности открываются.
31. ZMD2065 25.04.16 15:42 Сейчас в теме
Добрый день.
Подскажите пожалуйста куда рыть дальше.
Проблема с ошибкой блокировки расширения конфигуратором. Всё сделал как описано в п.4. Ошибка блокировки не ушла.
На вкладке Дополнительно поставил флажок "Устанавливать режим разрешения отладки". Ошибка блокировки не ушла.
И в запуске предприятия поставил режим отладки.
Снимки экранов приложил в файле. Подскажите пожалуйста что забыл сделать.
Прикрепленные файлы:
После установки параметра не сработало.docx
32. mrXoxot 3046 25.04.16 15:46 Сейчас в теме
(31) bondar_vy@mail.ru,
Такое может быть при первом подключении расширения или если изменился Поставщик расширения или номер версии.
Для исправления попробуйте следующие действия:
1. В конфигураторе закрыть это расширение
2. В режиме предприятия открыть форму связанную с расширением
3. Открыть расширение в конфигураторе
4. Перезапустить отладку.
33. ZMD2065 25.04.16 16:17 Сейчас в теме
Спасибо огромное. Помогло. Этот танец с бубнами было бы здорово добавить к п.4.
Ещё раз огромное спасибо.
34. mrXoxot 3046 25.04.16 23:20 Сейчас в теме
(33) bondar_vy@mail.ru,
Добавил в 4 пункт это уточнение. Спасибо за отзыв!
35. ZMD2065 26.04.16 18:07 Сейчас в теме
День добрый.
Есть ещё один теоретический вопрос. При обновлении основной конфигурации каким образом в расширение подтянуть все изменения. Я такого механизма не нашёл. Нашёл что можно сделать обновление расширенной формы. А всё остальное, то что присутствует в расширении и попало туда с формой как? Или оно обновится автоматически или в расширении только ссылки?
И можно ли обновить скажем все изменённые в расширении формы оптом или надо по одной?
DFinteX; cleaner_it; +2 Ответить
36. leonvlas 14.06.16 13:30 Сейчас в теме
Обновлял зуп. с расширением от внедренца- гемор полный
Инструмент очень далек от реалли и пользоваться им нормально не получится. Это глубокая альфа заявленная в 2014г и до сих пор ею остается.
Если кто соскучился по танцам, то флаг вам в руки.
37. Alister 9 14.06.16 13:41 Сейчас в теме
38. fomstas 08.07.16 10:21 Сейчас в теме
(36)leonvlas, Да иногда приходиться переписывать расширение, но так проще найти что нужно переписать! :)
39. Yashazz 4143 19.07.16 16:12 Сейчас в теме
(36) leonvlas, воистину.

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

Добрый совет: если можете - пилите конфу и не связывайтесь с расширениями. Это полное и безысходное г****.

И ещё - ребятушки, а что, пересказ материалов с ИТС без указания копирайта так высоко котируется?
DFinteX; ivv1970; lavdeenko; smaximaa; james404; +5 1 Ответить
40. mrXoxot 3046 20.07.16 14:52 Сейчас в теме
(39) Yashazz,

Всё, изложенное в статье, конечно, очень демонстративно, круто и замечательно

Спасибо за оценку!

И ещё - ребятушки, а что, пересказ материалов с ИТС без указания копирайта так высоко котируется?

Странно, я думал ссылка на вашу публикацию и на материалы ИТС в самом начале помогут ознакомиться детальнее с расширениями.
В своей публикации я постарался свести все к маленьким практическим кейсам.
Если, считаете, что это плохо - то можете поставить публикации минус. И тогда, возможно, таких публикаций будет меньше.
Andreev.a; +1 Ответить
44. white-mount 31.08.16 15:29 Сейчас в теме
(39) Yashazz, Уважаемый, но разве у всех есть под рукой ИТС? Да и остальные не всегда читают весь ИТС, а ведут рубрикатор опубликованного и того меньше.
Статья полезна системным подходом, благодарность автору.
На мой взгляд не хватает предостережений, в этой части с Вами полностью согласен, правильно заточенный инструмент, конфа, надёжней в эксплуатации.
47. Yashazz 4143 05.09.16 20:03 Сейчас в теме
(44) white-mount, вы знаете, что такое нарушение копирайта? Это, на минуточку, нарушение законодательства. А на ИС прям-таки стандартная реакция типа "нуачо" или "а у меня нет ИТС". Вы вообще понимаете, что это статья УК? А не повод вешать плюсики за плагиат?
48. white-mount 05.09.16 21:57 Сейчас в теме
(47) Yashazz, уважаемый,
white-mount, вы знаете, что такое нарушение копирайта?

Ответ: Да
Вы вообще понимаете, что это статья УК?

Ответ: Нет
Подайте на меня в суд за то, что я на форуме направил Вам message:
Yashazz, Уважаемый, но разве у всех есть под рукой ИТС? Да и остальные не всегда читают весь ИТС, а ведут рубрикатор опубликованного и того меньше.
Статья полезна системным подходом, благодарность автору.
На мой взгляд не хватает предостережений, в этой части с Вами полностью согласен, правильно заточенный инструмент, конфа, надёжней в эксплуатации.
41. Nkolp 16 04.08.16 13:29 Сейчас в теме
Очень ценная статья - СПАСИБО
42. DrSender 72 22.08.16 11:18 Сейчас в теме
Попробовал. Использовать не советую. Много глюков. Неудобно отлаживать.
DFinteX; lavdeenko; Yashazz; +3 Ответить
43. mrXoxot 3046 22.08.16 12:37 Сейчас в теме
(42) DrSender,
А в чем сложность отладки? Пробовали это.
45. smaximaa 01.09.16 14:49 Сейчас в теме
Кто знает, добавляются ли в расширение глобальные параметризуемые команды формы? А то добавил форму, а этих команд нет, без низ мне смысл использовать расширение 0 ((
46. white-mount 02.09.16 11:28 Сейчас в теме
(45) smaximaa,
а программно создавать при открытии формы не получается?
Хотя есть задача в которой это и мне может потребоваться, нужно будет попробовать.
smaximaa; +1 Ответить
50. smaximaa 13.09.16 10:17 Сейчас в теме
(46) white-mount, программно не пробовал, но сработала другая вещь, надо было добавить зависимые объекты команды и она появилась в параметризируемых
49. Milanick 09.09.16 13:56 Сейчас в теме
60. mrXoxot 3046 23.09.16 13:22 Сейчас в теме
(49) Milanick, (59) TreeDogNight,
Гифки я делал так:
1. Снимал видео через Snagit
2. Потом через сервис http://makeagif.com/ переделывал из видео в gif
51. smaximaa 13.09.16 10:20 Сейчас в теме
есть проблема, в определяемых типах нельзя менять тип, выходит ошибка и расширение не запускается, как можно это обойти?
ps. смысл тогда добавлять их в расширение если редактировать нельзя...
52. sikvel2012 17.09.16 11:04 Сейчас в теме
есть вопрос, как добавить форму без реквизитов в расширение?
53. mrXoxot 3046 17.09.16 17:41 Сейчас в теме
(52) reznic,
А зачем?
Можно добавить форму к обработке и добавлять любые реквизиты.
54. sikvel2012 20.09.16 12:50 Сейчас в теме
(53) вопрос поставил немного не правильно, если быть точнее то как добавлять объект чтобы он не тянул за собой по ссылкам другие объекты
55. mrXoxot 3046 20.09.16 14:09 Сейчас в теме
(54) reznic,
Никак.
Разработчики писали, что думают как сократить количество ссылок, но совсем от них отказаться не получиться.
56. sikvel2012 20.09.16 14:24 Сейчас в теме
(55) смотри, просто мне попалось расширение и в нем добавлена только одна форма для документа, и та без реквизитов, я такого смог добиться только удалив все ненужное потом , как то это странно, неужели все так делают
57. mrXoxot 3046 20.09.16 14:40 Сейчас в теме
(56) reznic,
К сожалению, мне другой способ не известен.
А чем мешают реквизиты? Ведь можно скрыть неиспользуемые объекты, например так
58. sikvel2012 20.09.16 14:52 Сейчас в теме
особо ничем, только весом расширения и лишними ненужными элементами
59. TreeDogNight 20 23.09.16 12:31 Сейчас в теме
Извиняюсь за вопрос не по теме: С помощью какого софта вы делали GIF-анимацию?
61. oslokot 166 28.09.16 11:41 Сейчас в теме
Добавил справочник номенклатура в расширение, конструктор запроса не видит стандартный реквизит ЭтоГруппа. Как быть?
Tachchini2011; klmop; murat_; Мах; +4 Ответить
62. mrXoxot 3046 28.09.16 12:30 Сейчас в теме
(61) oslokot,
Нужно в расширении установить проверку свойство "Иерархический".
Либо сделать запрос в другом месте. При выполнении ошибки быть не должно.
kn; igee12; Мах; oslokot; +4 Ответить
63. Wefast 06.10.16 13:45 Сейчас в теме
Не появилась возможность править общие модули еще?
64. mrXoxot 3046 06.10.16 14:35 Сейчас в теме
(63) Wefast,
Такая возможность появилась в платформе 8.3.9.
Но чтобы она работала в конфигурации должен быть снят режим совместимости с 8.3.8.
На сколько мне известно, таких типовых еще нет.
65. Fynjy 27.10.16 12:45 Сейчас в теме
Читать приятно. За это 99 рублей не жалко )
66. progr-2008 118 05.11.16 22:38 Сейчас в теме
67. tormozit 6466 10.11.16 10:20 Сейчас в теме
EDT уже поддерживает редактирование расширений? Вроде не встречал инфы про их поддержку в описании.
68. mrXoxot 3046 10.11.16 21:51 Сейчас в теме
(67) tormozit,
Тоже не встречал такой информации.
Сейчас поискал самостоятельно в EDT - не смог найти как создать или открыть расширение.
69. tormozit 6466 10.11.16 21:57 Сейчас в теме
(68) По сообщениям с партнерского форума сделал вывод, что поддержки расширений как и внешних обработок в текущей версии нет. Думаю она появится в самом конце.
70. tormozit 6466 12.11.16 17:42 Сейчас в теме
Как массово добавить объекты из конфигурации (CF) в расширение (CFE)?
71. mrXoxot 3046 13.11.16 22:17 Сейчас в теме
(70) tormozit,
К сожалению, никак.
По крайней мере на текущий момент.
Сам мучаюсь.
138. avk72 75 11.11.17 10:26 Сейчас в теме
(70) (71)
Как массово добавить объекты из конфигурации (CF) в расширение (CFE)?

Наше решение должно помочь https://infostart.ru/public/689299/
Добавляются, естественно, измененные объекты типовых конфигураций, а не все подряд.
Делали для упрощения обновления измененных типовых конфигураций
139. tormozit 6466 11.11.17 20:34 Сейчас в теме
(70) В подсистеме "Инструменты разработчика" теперь есть общая форма "ирВыпускРасширения". Она преобразует конфигурацию в расширение (конечно же с ограничениями).
Olenevod; +1 Ответить
72. mark_oilbass 15.11.16 12:20 Сейчас в теме
Сегодня была задача по изменению общего модуля. Расширение помогло. Добавил общий модуль и скопировал в общий модуль процедуру. К этим процедурам надо добавлять дерективы &Перед("НашаПроцедура"), &После("НашаПроцедура") и &Вместо("НашаПроцедура"). Если использовать &Вместо к ней можно еще в конце процедуры или функции добавить метод ПродолжитьВызов(), как я понял этот метод выполняет сначала процедуру из расширения потом эту же процедуру там от куда мы ее взяли. Не знаю за чем это. Вот источник http://v8.1c.ru/o7/201603module/index.htm
Aero; vapiarius; Spacer; +3 Ответить
81. fomix 29 27.01.17 14:38 Сейчас в теме
(72) Цитата: "Добавил общий модуль и скопировал в общий модуль процедуру.".
1. Что здесь означает слово "Добавил" - скопировал в расширение или реально добавил?!
2. Аналогично слово "Скопировал"?!
Например, я добавил в свое расширение ОбщийМодуль из основной конфы и пытаюсь переопределить там функцию аннотацией &Вместо("ИмяФункции") - при компиляции в ответ получаю
{Расширение1 ОбщийМодуль.Расш1_ОбщийМодуль_ИмяМодуля.Модуль(2,8)}: Ожидается определение процедуры/функции &Вместо<<?>>("ПолучитьФорматЗаписиИзДереваФормата") (Проверка: Сервер).
Что не так?! В тырнете ответа НЕ НАШЕЛ!
104. vapiarius 15.06.17 13:26 Сейчас в теме
По этой-же ссылке написано, что метод ПродолжитьВызов() нужен для обрамления функций.
73. andrewrocker 1 23.11.16 18:07 Сейчас в теме
а есть какое нибудь руководство по расширениям?
74. mrXoxot 3046 24.11.16 07:50 Сейчас в теме
(73)
Есть документация на ИТС. Есть курсы Гилева и Насипова.
Ссылки можно посмотреть во введении этой публикации.
75. dtripleh 06.12.16 11:36 Сейчас в теме
Макет же можно добавлять в заимствованных объектах, а вот типовой менять нельзя
76. markers 257 28.12.16 10:27 Сейчас в теме
(75) Насколько мне известно (но возможно ошибаюсь) эту возможность добавили в 8.3.9
77. dtripleh 28.12.16 14:48 Сейчас в теме
78. Meteorage 19 13.01.17 09:51 Сейчас в теме
Шикарный материал, изменяющий принципы конфигурирования. Будем использовать!
79. puhshok 17.01.17 11:42 Сейчас в теме
Подскажите кто нибудь. Встретился с проблемой, модуль менеджера документа с директивой &Вместо не перехватывается в фоновом задании, в частности при групповом перепроведении документов. Как решить?
80. laf 22.01.17 14:52 Сейчас в теме
Вообще впервые узнаю о таких возможностях. Поразительно.Плюс
82. tormozit 6466 05.02.17 15:02 Сейчас в теме
В обычном приложении и внешнем соединении расширения не работают. Вроде там какую то ошибку 1С собирается исправить, но все равно гарантировать полностью корректную работу не будет. Открыть обычную форму в управляемом режиме из расширения мне тоже не удалось - ошибка "Неизвестное имя формы". У кого нибудь получилось?
83. spacecraft 05.02.17 17:23 Сейчас в теме
(82)
Открыть обычную форму в управляемом режиме из расширения мне тоже не удалось

Вот пример открытия обычной формы элемента справочника из управляемой формы списка в расширении по отдельной команде:
#Если ТолстыйКлиентУправляемоеПриложение Тогда
&НаКлиенте
Процедура КомандаОткрыть(Команда)
	ТекЭлемент = Элементы.Список.ТекущаяСтрока;
	ФормаТекЭлемента = ТекЭлемент.ПолучитьФорму(Метаданные.Справочники.ФизическиеЛица.Формы.ФормаЭлемента);
	ФормаТекЭлемента.Открыть();
КонецПроцедуры
#КонецЕсли
Показать
84. tormozit 6466 05.02.17 18:48 Сейчас в теме
(83) Я имел ввиду, что обычная форма находится в расширении, но получить ее по полному имени не удается.
87. tormozit 6466 20.02.17 11:54 Сейчас в теме
(82) Удивительно, но удалось убедить 1C признать это ошибкой. Вероятно в 8.3.11 это исправят и такая возможность появится.
Andreev.a; ariadna-nn; Danil.Potapov; mrXoxot; Alister; +5 Ответить
Оставьте свое сообщение

См. также

Номенклатура (Расширенная форма списка) и Корзина для УТ11, ERP и КА2 [Расширение] Промо

Рабочее место Обработка справочников Оптовая торговля Розничная торговля Склад и ТМЦ Ценообразование, анализ цен Оптовая торговля Розничная торговля Склад и ТМЦ Ценообразование, анализ цен v8 ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика УУ Платные (руб)

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

7500 руб.

26.04.2016    120898    844    423    

СКД: 5 советов, как сделать лучше

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

Несколько примеров решения задач с использованием разных подходов

27.10.2021    5537    Neti    19    

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

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

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

06.04.2021    11765    Neti    8    

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

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

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

02.04.2021    14466    SeiOkami    54    

Новые роли. Кладовщик, кассир и менеджер по закупкам [Расширение] Промо

Роли и права v8 v8::Права БП3.0 Россия Платные (руб)

Ваш кладовщик видит зарплату директора? Кассир копается в продажных документах? Менеджер по закупкам видит ваши расходы? Хватит закрывать на это глаза! Добавьте новые роли для пользователей. Три новых профиля - Кладовщик, кассир и менеджер по закупкам.

7500 руб.

01.11.2016    56677    80    104    

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

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

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

25.03.2021    46758    rayastar    53    

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

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

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

16.03.2021    7624    velemir    33    

Номенклатура с дополнительными колонками, картинкой и корзиной, с отбором по цене, складу, доп. реквизитам - улучшенная форма списка для УТ 11, КА 2, ЕРП 2,4 [Расширение]

Рабочее место Оптовая торговля v8 ERP2 УТ11 КА2 УУ Абонемент ($m)

Функциональная и удобная форма справочника Номенклатура. В общем списке отображаются дополнительные колонки, остатки и цены по каждой позиции. Подбираем товары в корзину и создаем документы: Заказ клиента, Реализация, Поступление, Заказ поставщику. Создавалась как расширение для Управление торговлей 11.4.13.123. Работает также на ERP 2.4.13.123 и КА 2.4.13.123 .

3 стартмани

24.02.2021    2982    19    user1479207    18    

Номенклатура и корзина для 1С:Розница Промо

Розничная торговля Управление услугами и сервисом Розница УУ Платные (руб)

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

5000 руб.

23.09.2020    7613    7    4    

Доработка проведения в ERP 2.5. (Регистры накопления, Регистры сведений)

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

Покажу точки входа для доработки "типового" проведения документов в ERP для регистров оперативного учета. Рассмотрим три основные ситуации: нужно изменить имеющееся проведение документа; нужно сделать записи в существующие регистры; нужно с нуля описать алгоритм проведения в добавленный регистр. Пример реализован на 1С:ERP Управление предприятием 2 (2.5.4.120)

10.01.2021    11879    BuriyLesha    10    

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

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

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

28.12.2020    9378    comol    31    

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С)

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

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    5158    Eugen-S    24    

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

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

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

27.01.2016    86668    Serginio    116    

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

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

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

30.08.2020    21594    quazare    34    

Загрузка Еxcel отчета по продажам с Wildberries в документ "Отчет комиссионера"

WEB v8 v8::ОУ УТ11 Россия УУ Абонемент ($m)

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

1 стартмани

20.05.2020    7652    20    denny_dv    11    

[Расширение] Загрузка данных из Excel в табличную часть документа с созданием не найденной номенклатуры Промо

Обработка документов Оптовая торговля Склад и ТМЦ Обработка справочников Загрузка и выгрузка в Excel Оптовая торговля Склад и ТМЦ v8::ОУ УТ11 Россия УУ Абонемент ($m)

Расширение типовой обработки 1С "Загрузка данных из внешних файлов" (Управление торговлей ред. 11.4). Позволяет загружать данные из внешнего файла в табличную часть документа и создавать не найденную номенклатуру. Доработано: создание не сопоставленной номенклатуры по настройкам. Добавлена загрузка в документы Перемещение, Списание, Оприходование. Расширение тестировалась на демо версии Управление торговлей 11.4.9.70, 11.4.11.55, 11.4.12.61, 11.4.13.103

1 стартмани

09.12.2016    35030    213    shtinalex    43    

Серверные вызовы, которые нельзя вызывать

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

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    9792    SeiOkami    34    

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

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

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

08.05.2020    88364    user5300    28    

Конвертация расширения cfe в конфигурацию сf руками

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

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

18.03.2020    11568    wtlz    35    

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

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

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

10.12.2016    41348    unichkin    74    

Эволюция расширения конфигурации

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

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

06.02.2020    16302    Xershi    47    

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

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

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

27.01.2020    70089    ids79    27    

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

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

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

15.01.2020    45767    John_d    22    

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

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

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

15.10.2018    36613    tormozit    106    

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

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

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

30.12.2019    37684    kuzyara    38    

Мониторим производительность с помощью 1С RAS

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

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    15871    ivanov660    51    

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

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

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

02.12.2019    25599    YPermitin    63    

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

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

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

20.09.2012    83180    tormozit    131    

Обновление релиза измененной типовой конфигурации

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

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

29.11.2019    15923    John_d    76    

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

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

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

22.11.2019    13066    Sibars    19    

Адрес в печатной форме "Реализация товаров" документа "Реализации товаров и услуг". УТ 11.4

Печатные формы v8 v8::ОУ УТ11 Россия БУ УУ Абонемент ($m)

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

1 стартмани

21.11.2019    6586    8    1C82    0    

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

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

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

11.07.2007    55097    tormozit    51    

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

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

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

10.10.2019    32496    John_d    21    

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

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

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

01.10.2019    55354    Yashazz    56    

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

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

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

06.09.2019    110642    rpgshnik    77    

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

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

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

10.09.2017    51860    tormozit    74    

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

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

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

05.09.2019    81606    ids79    56    

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

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

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

05.09.2019    48722    YPermitin    27    

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

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

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

03.09.2019    30610    YPermitin    81    

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

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

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

17.08.2019    46486    ids79    22    

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

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

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

08.08.2019    161455    ids79    77    

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

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

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

02.08.2019    63851    avalakh    27    

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

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

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

31.07.2019    44361    json    17    

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

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

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

26.07.2019    111221    ids79    18    

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

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

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

17.07.2019    50019    ids79    27    

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

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

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

09.07.2019    34945    YPermitin    15    

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

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

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

04.07.2019    22812    SeiOkami    53    

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

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

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

02.07.2019    88349    ids79    18