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

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

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

Расширение Расширения конфигурации 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 110 12.01.16 11:06 Сейчас в теме
Очень талантливо сделана публикация! Спасибо! Пишите еще!
* Не знал про отладку в расширениях, очень бывает нужно.
* Запросы можно и в консоле запросов стряпать, удобнее.
* Багфикс согласен, очень действенно.
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; +49 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ya.Avoronov 110 12.01.16 11:06 Сейчас в теме
Очень талантливо сделана публикация! Спасибо! Пишите еще!
* Не знал про отладку в расширениях, очень бывает нужно.
* Запросы можно и в консоле запросов стряпать, удобнее.
* Багфикс согласен, очень действенно.
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; +49 Ответить
4. mrXoxot 2607 13.01.16 07:20 Сейчас в теме
(1) ya.Avoronov,
Спасибо! Я старался.

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

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

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

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

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

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

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

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

Я к нему отношусь как к еще одному инструменту, который может подходить для каких-то задач. А для каких-то быть совсем не пригодным. И это нормально, ведь только из-за того, что оно что-то не умеет не нужно ставить на нем крест.
30. Zhilyakovdr 129 30.03.16 10:51 Сейчас в теме
(11) MaxS, Добрый день!
Насколько я знаю, форму в расширении можно обновить из основной конфы, кнопка в конструкторе форм "Обновить расширение формы", при обновлении все изменения остаются, применяются только изменения из основной конфы.
2. MaxS 2236 12.01.16 14:24 Сейчас в теме
А ещё, если, например, нужно с помощью расширения всего лишь добавить кнопку на форму документа, то придётся тянуть в расширение всю форму. И при последующем обновлении конфигурации расширение может перестать работать.
Почему нет режима объединения элементов расширения с основной конфигурацией? Добавил бы несколько элементов на форму и они бы объединились по именам.
Пока в некоторых ситуациях удобнее программно добавлять элементы на форму. Расширение и здесь плохо помогает, т.к. в общий модуль нельзя внедриться.
97. alarma11 03.05.17 15:08 Сейчас в теме
(2) Думаю, что эта проблема не проблема. Просто в расширении описываешь код кнопки и программно создаешь кнопку при создании на сервере формы. Таким образом, при обновлении формы из основной конфигурации работа сводится не к приведению общего вида формы в порядок (кнопочки пропали/появились) а к приведению в порядок только написанного кода на форме (точнее проверки того, что код расширения не изменился).
Тем более добро пожаловать в 8.3.9 и т.д. где теперь можно почти со всеми модулями проводить махинации.
99. MaxS 2236 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 111 13.01.16 10:42 Сейчас в теме
Вот проблемы сейчас писать расширения нет, уже много инфы. А вот четкой уверенности, что после обновления измененной типовой формы не приедятся также перерабатывать эту форму в расширении у меня нет. Вот это тормозит применение расширений при доработках конфигурации.
DFinteX; Kaspirovsky; tormozit; JohnyDeath; ya.Avoronov; +5 Ответить
8. JohnyDeath 299 13.01.16 22:01 Сейчас в теме
(5) вот и я немного прилип после обновления типовой бухгалтерии 3.0. В справочнике "Контрагенты" был переименован реквизит "ОсновнойДоговорКонтрагента" (теперь он "УдалитьОсновнойДоговорКонтрагента") и всё, теперь расширение нерабочее. А допиливал я по мелочи: формы ПКО, РКО, договоры контрагентов
9. mrXoxot 2607 13.01.16 22:07 Сейчас в теме
(8) JohnyDeath,
Кажется, что в этом случае правильно, что отвалилось расширение.

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

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

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

Да, именно так. В этом одна из прелестей этого механизма.
152. UtSpar 28.12.17 12:35 Сейчас в теме
(7) Никита подскажит поподробнее. создал в расширении подсистему, создал роль и обработку. в итоге подсистема не видна. не подскажите какие подводные камни имеются?
10. frkbvfnjh 606 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 93 28.12.18 02:21 Сейчас в теме
(134)Ваша щедрость не знает границ
Yan_Malyakov; +1 Ответить
135. mrXoxot 2607 15.09.17 14:51 Сейчас в теме
(133)
Если ничего не меняли, то скорее всего это ошибка платформы и можете написать им.
Я бы попробовал перенести форму в другое место или скопировать ее и обратиться заново.

(134)
Большое спасибо!
141. julia96_07 11 20.11.17 11:06 Сейчас в теме
(133) Светлана, смогли решить проблему?
14. tormozit 6327 17.01.16 09:47 Сейчас в теме
Гифки хороши только для поверхностного просмотра. На них очень мелко и деталей не видно и нельзя на паузу нажать. Поэтому лучше видеоролики, которые например бы открывались по клику на гифке.
SagittariusA; Yan_Malyakov; ekaruk; Andry.Boris; amon_ra; +5 Ответить
15. mrXoxot 2607 17.01.16 11:32 Сейчас в теме
(14) tormozit,
Согласен. Попробую в следующий раз. А есть где-нибудь примеры?
165. Olenevod 26 04.03.18 13:18 Сейчас в теме
(14) Если интересно, есть хитрый удобный способ сделать паузу гифки. Для этого надо нажать в нужный тебе момент на кнопку закрытия браузера, но не отпускать кнопку мыши (чтоб не закрыть браузер :-) ) потом просто отвести указать в сторону и отпустить.
166. tormozit 6327 04.03.18 14:32 Сейчас в теме
(165)
Рисковать закрытием приложения браузера не хочу. Уж лучше программой захвата экрана пользоваться для редких стопкадров.
16. Доработай 1С 31.01.16 16:21 Сейчас в теме
Спасибо за статью!
Очень аккуратно и качественно сделано.
Приятно читать.
Andry.Boris; +1 Ответить
17. mrXoxot 2607 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 2607 11.03.16 12:07 Сейчас в теме
(19) Blind_Guardian, (21) vlastapov, (20) sudmorsh,
Пожалуйста!
20. sudmorsh 55 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 2607 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 2607 25.04.16 15:46 Сейчас в теме
(31) bondar_vy@mail.ru,
Такое может быть при первом подключении расширения или если изменился Поставщик расширения или номер версии.
Для исправления попробуйте следующие действия:
1. В конфигураторе закрыть это расширение
2. В режиме предприятия открыть форму связанную с расширением
3. Открыть расширение в конфигураторе
4. Перезапустить отладку.
33. ZMD2065 25.04.16 16:17 Сейчас в теме
Спасибо огромное. Помогло. Этот танец с бубнами было бы здорово добавить к п.4.
Ещё раз огромное спасибо.
34. mrXoxot 2607 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 3801 19.07.16 16:12 Сейчас в теме
(36) leonvlas, воистину.

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

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

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

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

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

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

Странно, я думал ссылка на вашу публикацию и на материалы ИТС в самом начале помогут ознакомиться детальнее с расширениями.
В своей публикации я постарался свести все к маленьким практическим кейсам.
Если, считаете, что это плохо - то можете поставить публикации минус. И тогда, возможно, таких публикаций будет меньше.
Andreev.a; +1 Ответить
44. white-mount 31.08.16 15:29 Сейчас в теме
(39) Yashazz, Уважаемый, но разве у всех есть под рукой ИТС? Да и остальные не всегда читают весь ИТС, а ведут рубрикатор опубликованного и того меньше.
Статья полезна системным подходом, благодарность автору.
На мой взгляд не хватает предостережений, в этой части с Вами полностью согласен, правильно заточенный инструмент, конфа, надёжней в эксплуатации.
47. Yashazz 3801 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 70 22.08.16 11:18 Сейчас в теме
Попробовал. Использовать не советую. Много глюков. Неудобно отлаживать.
DFinteX; lavdeenko; Yashazz; +3 Ответить
43. mrXoxot 2607 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 2607 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 2607 17.09.16 17:41 Сейчас в теме
(52) reznic,
А зачем?
Можно добавить форму к обработке и добавлять любые реквизиты.
54. sikvel2012 20.09.16 12:50 Сейчас в теме
(53) вопрос поставил немного не правильно, если быть точнее то как добавлять объект чтобы он не тянул за собой по ссылкам другие объекты
55. mrXoxot 2607 20.09.16 14:09 Сейчас в теме
(54) reznic,
Никак.
Разработчики писали, что думают как сократить количество ссылок, но совсем от них отказаться не получиться.
56. sikvel2012 20.09.16 14:24 Сейчас в теме
(55) смотри, просто мне попалось расширение и в нем добавлена только одна форма для документа, и та без реквизитов, я такого смог добиться только удалив все ненужное потом , как то это странно, неужели все так делают
57. mrXoxot 2607 20.09.16 14:40 Сейчас в теме
(56) reznic,
К сожалению, мне другой способ не известен.
А чем мешают реквизиты? Ведь можно скрыть неиспользуемые объекты, например так
58. sikvel2012 20.09.16 14:52 Сейчас в теме
особо ничем, только весом расширения и лишними ненужными элементами
59. TreeDogNight 19 23.09.16 12:31 Сейчас в теме
Извиняюсь за вопрос не по теме: С помощью какого софта вы делали GIF-анимацию?
61. oslokot 159 28.09.16 11:41 Сейчас в теме
Добавил справочник номенклатура в расширение, конструктор запроса не видит стандартный реквизит ЭтоГруппа. Как быть?
Tachchini2011; klmop; murat_; Мах; +4 Ответить
62. mrXoxot 2607 28.09.16 12:30 Сейчас в теме
(61) oslokot,
Нужно в расширении установить проверку свойство "Иерархический".
Либо сделать запрос в другом месте. При выполнении ошибки быть не должно.
kn; igee12; Мах; oslokot; +4 Ответить
63. Wefast 06.10.16 13:45 Сейчас в теме
Не появилась возможность править общие модули еще?
64. mrXoxot 2607 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 6327 10.11.16 10:20 Сейчас в теме
EDT уже поддерживает редактирование расширений? Вроде не встречал инфы про их поддержку в описании.
68. mrXoxot 2607 10.11.16 21:51 Сейчас в теме
(67) tormozit,
Тоже не встречал такой информации.
Сейчас поискал самостоятельно в EDT - не смог найти как создать или открыть расширение.
69. tormozit 6327 10.11.16 21:57 Сейчас в теме
(68) По сообщениям с партнерского форума сделал вывод, что поддержки расширений как и внешних обработок в текущей версии нет. Думаю она появится в самом конце.
70. tormozit 6327 12.11.16 17:42 Сейчас в теме
Как массово добавить объекты из конфигурации (CF) в расширение (CFE)?
71. mrXoxot 2607 13.11.16 22:17 Сейчас в теме
(70) tormozit,
К сожалению, никак.
По крайней мере на текущий момент.
Сам мучаюсь.
138. avk72 74 11.11.17 10:26 Сейчас в теме
(70) (71)
Как массово добавить объекты из конфигурации (CF) в расширение (CFE)?

Наше решение должно помочь https://infostart.ru/public/689299/
Добавляются, естественно, измененные объекты типовых конфигураций, а не все подряд.
Делали для упрощения обновления измененных типовых конфигураций
139. tormozit 6327 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 2607 24.11.16 07:50 Сейчас в теме
(73)
Есть документация на ИТС. Есть курсы Гилева и Насипова.
Ссылки можно посмотреть во введении этой публикации.
75. dtripleh 06.12.16 11:36 Сейчас в теме
Макет же можно добавлять в заимствованных объектах, а вот типовой менять нельзя
76. markers 256 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 6327 05.02.17 15:02 Сейчас в теме
В обычном приложении и внешнем соединении расширения не работают. Вроде там какую то ошибку 1С собирается исправить, но все равно гарантировать полностью корректную работу не будет. Открыть обычную форму в управляемом режиме из расширения мне тоже не удалось - ошибка "Неизвестное имя формы". У кого нибудь получилось?
83. spacecraft 05.02.17 17:23 Сейчас в теме
(82)
Открыть обычную форму в управляемом режиме из расширения мне тоже не удалось

Вот пример открытия обычной формы элемента справочника из управляемой формы списка в расширении по отдельной команде:
#Если ТолстыйКлиентУправляемоеПриложение Тогда
&НаКлиенте
Процедура КомандаОткрыть(Команда)
	ТекЭлемент = Элементы.Список.ТекущаяСтрока;
	ФормаТекЭлемента = ТекЭлемент.ПолучитьФорму(Метаданные.Справочники.ФизическиеЛица.Формы.ФормаЭлемента);
	ФормаТекЭлемента.Открыть();
КонецПроцедуры
#КонецЕсли
Показать
84. tormozit 6327 05.02.17 18:48 Сейчас в теме
(83) Я имел ввиду, что обычная форма находится в расширении, но получить ее по полному имени не удается.
87. tormozit 6327 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 и КА.

5000 руб.

26.04.2016    106999    760    361    

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

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

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

06.04.2021    5946    Neti    7    

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

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

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

02.04.2021    7041    SeiOkami    52    

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

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

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

25.03.2021    22704    rayastar    49    

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

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

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

3000 руб.

23.09.2020    4258    3    4    

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

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

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

16.03.2021    4155    velemir    31    

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

Расширения v8 8.3.14 1cv8.cf Абонемент ($m)

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

1 стартмани

28.02.2021    1406    5    t278    1    

Номенклатура с дополнительными колонками, картинкой и корзиной, с отбором по цене, складу, доп. реквизитам - улучшенная форма списка для УТ 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    1456    8    user1479207    4    

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

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

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

5000 руб.

01.11.2016    51701    65    77    

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

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

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

10.01.2021    7699    BuriyLesha    9    

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

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

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

28.12.2020    6040    comol    31    

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

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

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

30.08.2020    15190    quazare    34    

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

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

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

27.01.2016    81001    Serginio    113    

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

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

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

1 стартмани

20.05.2020    4994    13    denny_dv    11    

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

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

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

08.05.2020    52385    user5300    18    

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

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

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

27.01.2020    50182    ids79    26    

[Расширение] Загрузка данных из 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    31216    200    shtinalex    35    

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

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

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

15.01.2020    35868    John_d    22    

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

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

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

30.12.2019    28423    kuzyara    38    

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

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

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

02.12.2019    20909    YPermitin    61    

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

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

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

10.12.2016    39318    unichkin    74    

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

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

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

22.11.2019    11020    Sibars    19    

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

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

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

07.10.2019    35806    HostHost    41    

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

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

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

15.10.2018    33708    tormozit    105    

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

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

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

01.10.2019    45941    Yashazz    50    

О программе Postman для тестирования API и для чего она нужна 1С-нику

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

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

24.09.2019    17084    budidich    29    

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

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

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

06.09.2019    81176    rpgshnik    70    

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

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

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

20.09.2012    80692    tormozit    131    

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

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

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

05.09.2019    66270    ids79    55    

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

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

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

05.09.2019    38566    YPermitin    25    

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

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

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

03.09.2019    28303    YPermitin    81    

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

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

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

11.07.2007    51754    tormozit    51    

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

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

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

17.08.2019    40217    ids79    19    

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

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

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

08.08.2019    125953    ids79    73    

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

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

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

02.08.2019    51271    avalakh    26    

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

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

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

10.09.2017    48323    tormozit    74    

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

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

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

31.07.2019    34700    json    15    

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

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

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

26.07.2019    89291    ids79    14    

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

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

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

17.07.2019    43431    ids79    27    

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

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

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

25.04.2019    16884    m-rv    3    

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

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

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

09.07.2019    30884    YPermitin    14    

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

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

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

04.07.2019    20928    SeiOkami    52    

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

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

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

02.07.2019    70265    ids79    17    

Создание отчетов с помощью СКД - основные понятия и элементы

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

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    67221    ids79    27    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    28604    dmurk    148    

Обработка РМК (управляемый режим) для 1С: Розница 2.2 с возможностью просмотра товаров в чеках ККМ, без необходимости заходить в документ

Розничная торговля Рабочее место Розничная торговля v8 v8::УФ Розница Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

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

1 стартмани

30.05.2019    6893    8    Vegner    16    

Регистры накопления. Виртуальные таблицы. Часть №2: "Остатки" и "Остатки и обороты"

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

Описание работы платформы 1С:Предприятие 8.2 с виртуальными таблицами регистров накопления "Остатки" и "Остатки и обороты". Анализ SQL-запрос при работе с виртуальными таблицами

22.05.2019    37272    YPermitin    8    

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

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

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    55788    YPermitin    30