Отладка подключаемых обработок

Публикация № 573461 04.01.17

Приемы и методы разработки - Механизмы платформы 1С

Отладка обработок Отладка Дополнительная обработка отладка

На самом деле для этого не нужно ни изменять конфигурацию, ни пользоваться вспомогательной обработкой-отладчиком.. Все просто :)

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

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

Если работаете на серверной базе:

  • должна быть включена отладка сервера
  • кроме этого добавляем в предмет отладки фоновые задания (Конфигуратор => Отладка\Подключение\Автоматическое подключение\ поставить флаг "Фоновые задания")
  • а еще лучше так не делать, а воспользоваться параметром запуска "РежимОтладки" (Конфигуратор => Сервис\ Запуск 1С предприятия \ Основные \ ПараметрЗапуска, см. документацию к БСП Приложение 3. Доступные параметры запуска приложения) - тогда вызов доп. обработки не будет выполняться в фоне, что для отладки проще и лучше.

upd. 04.08.2018

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

Процедура ОтлаживаемаяПроцедура(Параметр1, Параметр2 = Неопределено) Экспорт
	Адрес = "D:\Projects\МояОбработка.epf";
	Если Адрес <> ЭтотОбъект.ИспользуемоеИмяФайла Тогда
		обр = ВнешниеОбработки.Создать(Адрес, БезопасныйРежим());
		ЗаполнитьЗначенияСвойств(обр, ЭтотОбъект);
		обр.ОтлаживаемаяПроцедура(Параметр1, Параметр2);
		Возврат; 		
	КонецЕсли; 

    //...код...
КонецПроцедуры

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. davdykin 25 04.01.17 20:57 Сейчас в теме
Спасибо, познавательно.
2. capitan 2183 07.01.17 12:41 Сейчас в теме
Посмотрел статью, подумал - зачем так сложно? :)
Если ваша обработка может просто стартовать с диска D:\ПроведениеДокументов.epf
так и стартуйте ее с диска и отлаживайте
В чем профит запихивания во внешние обработки ?

А проблема отладки внешних обработок в том, что они свои настройки хранят в базе.
Ее вы этим финтом не решаете
user659535_Necron500; Isakov_Artem; ybatiaev; Alex_E; +4 6 Ответить
4. unichkin 1437 07.01.17 23:06 Сейчас в теме
(2) (3)
Есть такая малость... Те параметры, которые передает этой самой обработке источник)) Через файл\открыть вы их не получите, разве что сами где-нибудь забьете. Кроме этого сама отладка ведется именно по контексту - открыл объект которому назначена обработка и выполняю команду... И сразу торможусь в конфигураторе на точке останова.И вижу весь отладочный контекст. Захотел - для одного объекта команду выполнил, захотел - для другого. ничего не перевыбирая, ничего не переписывая, а сразу. Больше возможностей для проверки.
nemec; eLeMeNtaLe; adhocprog; romankoav; user721584; NaKa; kild; akocur; Gorus; olezhe; yojeeg; Volchock; +12 Ответить
5. unichkin 1437 07.01.17 23:07 Сейчас в теме
(2)
В чем профит запихивания во внешние обработки ?

Обращу ваше внимание на тему статьи - "Отладка дополнительных обработок БСП", а не просто внешних обработок. О профите от помещения в внешние обработки речи не идет. Если изначально делаем назначаемую\глобальную обработку для БСП - так будет проще отлаживать, чем через файл\открыть.
nemec; kild; akocur; akor77; yojeeg; +5 Ответить
28. strange2007 145 27.02.18 04:44 Сейчас в теме
(5) Не проще. Создание обработки, это циклический процесс: Открыть, начать отладку, внести изменения, сохранить и переоткрыть заново.
Для быстрой и качественной отладки делается по одному шаблону для каждого вида (отчёт, заполнение ТЧ и т.д.) и всё. Можно вести разработку для обработок на БСП точно так же, как если бы разрабатывалась обычная обработка или обычный отчёт.
29. unichkin 1437 27.02.18 10:26 Сейчас в теме
(28)
Для быстрой и качественной отладки делается по одному шаблону для каждого вида (отчёт, заполнение ТЧ и т.д.) и всё. Можно вести разработку для обработок на БСП точно так же, как если бы разрабатывалась обычная обработка или обычный отчёт.

Мне надоело что-то кому-то доказывать)) Если смотрели видео \ пробовали сами этот подход - то профит должен быть очевиден. Если не делали этого - то попробуйте. Ну, или работайте как вам больше нравится) В конце концов, если кому-то кажется правильным работать эмулируя окружение - это его дело.
Cherkashin_Di; Strannik777; Alien_RS_Forever; kild; akocur; +5 Ответить
30. strange2007 145 27.02.18 10:59 Сейчас в теме
(29) Не надо доказывать. Терпите, ведь это по сути "барахолка". Видео, это для многих круто, но не для всех. Проще говоря в работе видео никогда вообще не смотрю. Поэтому приходится как-то по косвенным признакам пытаться догадываться.
По поводу окружения не понял. Ведь в шаблонах создаёшь это самое окружение в виде параметров.
52. kild 01.06.18 18:44 Сейчас в теме
(2)
так и стартуйте ее с диска и отлаживайте
Вы просто не понимаете разницу между внешними обработками и дополнительными обработками. Каким образов вы думаете отлаживать сохраненные параметры у прикрепленной обработки запуская его как внешний, а?
Strannik777; akocur; RFP; +3 Ответить
3. Alex_E 2283 07.01.17 13:17 Сейчас в теме
Всё, что можно запустить через Файл - Открыть отлаживается тупо и без выкрутасов.....
user659535_Necron500; klaus38; docerman; strange2007; red80; TrasserZero; +6 Ответить
6. ok521 20 12.01.17 17:33 Сейчас в теме
Метод хороший, для отладки внешних печатных форм - то, что нужно. Позволяет цеплять обработку к нужному объекту без всяких дополнительных ухищрений. Подходит и для серверного метода, и для клиентского.
kild; RFP; SagittariusA; ni032mas; nagaitseff; +5 Ответить
7. pas 76 16.01.17 13:44 Сейчас в теме
Если в подключаемой обработке есть форма с командными кнопками, то отладчик не заходит в процедуры формы. Видимо, ваш код необходимо выполнять до захода в форму.
Strannik777; +1 Ответить
8. unichkin 1437 18.01.17 15:57 Сейчас в теме
(7) надо понимать, откуда форма открывается. Тут ведь происходит точечная отладка - т.е. конкретный метод выполняем через внешнюю обработку. Ну переопределите открытие формы - в ПриОткрытии подключайте внешнюю обработку, открывайте ее форму, от исходной отказывайтесь. Все аналогично.
72. tireal 72 12.03.19 11:36 Сейчас в теме
(8) а как быть если внешняя обработка заполнения таб. части с вызовом клиентского метода с формы?
Получить форму для обращения к экспортной процедуре "ВыполнитьКоманду" внешней обработки можно только в толстом клиенте. И получается что в этом варианте исполнения ваш метод не исполнить никак правильно?
Прикрепленные файлы:
73. unichkin 1437 12.03.19 14:58 Сейчас в теме
(72) Сам алгоритм должен находиться на сервере, в модуле обработки
74. unichkin 1437 12.03.19 17:09 Сейчас в теме
(72) "Получить форму для обращения к экспортной процедуре "ВыполнитьКоманду" внешней обработки можно только в толстом клиенте. И получается что в этом варианте исполнения ваш метод не исполнить никак правильно?" - кстати, не уверен. Можно вроде и на тонком извратиться, только зачем? Соблюдайте негласные базовые правила - отделяйте основную логику от интерактива, и не будет возникать таких вопросов.
75. tireal 72 14.03.19 09:11 Сейчас в теме
(74) "кстати, не уверен. Можно вроде и на тонком извратиться" - может и можно но в доступности ВнешниеОбработкиМенеджер
ПолучитьФорму только Толстый клиент, а по поводу соблюдать негласные правила... я же приводил пример общего модуля стандартных подсистем - т.е. так работают 99% всех типовых конфигураций и речь напомню об обработки заполнения таблицы формы - т.е. в конце концов мы работаем именно с интерфейсной частью. Так что тут все правила соблюдены.
Да и не об этом речь - смысл вопроса в том что перехватить исполнение кода по вашей методе мы можем только в модуле объекта и никак иначе - вот что я хотел уточнить, и как понял это именно так.
9. tormozit 6514 05.10.17 09:04 Сейчас в теме
В инструментах разработчика в вариантах Расширение и Подсистема есть инструмент "Отладка внешних обработок БСП". Он позволяет отлаживать внешние отчеты и обработки из справочника БСП в натуральном виде в заданном каталоге с минимумом манимпуляций.
Прикрепленные файлы:
adhocprog; CratosX; mikeA; papche; kote; корум; unichkin; +7 Ответить
10. tormozit 6514 14.11.17 16:20 Сейчас в теме
(9) Обнаружил, что в БСП 2.4 изменился внутренний механизм работы с внутренними событиями. На нем я не нашел как заставить работать инструмент "Отладка внешних обработок БСП" из ИР (перенаправлять создание внешних обработок в файлы).
71. tormozit 6514 11.02.19 17:05 Сейчас в теме
(10) Теперь поддерживается и БСП 2.4+, но только в варианте Расширение.
23. nagaitseff 151 20.02.18 12:13 Сейчас в теме
(9)
это очень хороший инструмент, но отладка работает в том случае, если инструменты разработчика внедрены в конфигурацию (это ответ разработчика инструментов)
24. tormozit 6514 20.02.18 13:03 Сейчас в теме
(23) Использовать эту возможность можно не только при внедрении в конфигурацию (вариант Подсистема), но и при подключении расширения конфигурации (вариант Расширение). А вот вариант Портативный действительно не позволяет использовать эту возможность. Я кстати есть разработчик подсистемы "Инструменты разработчика".
sad12345; AlexK_2012; +2 Ответить
25. nagaitseff 151 20.02.18 14:58 Сейчас в теме
(24) Спасибо, про расширение не знал. Буду пользоваться. Инструмент то незаменимый!
63. denmax 336 05.10.18 03:32 Сейчас в теме
Опубликована новая версия универсального отладчика доп. обработок https://infostart.ru/public/916110 Это развитие метода, использованного в нашей более старой публикации, который позаимствовал (9)
11. binx 105 08.12.17 10:02 Сейчас в теме
я обычно создаю форму, создаю на ней реквизиты и поля для требуемых параметров. Отлаживаю потом переписываю на работу как доп. обработки.
немного это времени занимает.
Xershi; ybatiaev; +2 Ответить
12. unichkin 1437 08.12.17 15:31 Сейчас в теме
(11)
немного это времени занимает

- много. И оно не надо. При таком подходе вы лишены контекста разработки, отладка идет от эмуляции окружения.
Alexeibv87; KolBbl4; rudak_a; kild; kote; +5 Ответить
53. kild 01.06.18 18:45 Сейчас в теме
(11) Чего?? Делать кучу телодвижений вместо пару строчек для вас не занимает много времени?))
13. binx 105 08.12.17 18:51 Сейчас в теме
контекста разработки я себя не лишаю, и время набить несколько параметров не проблема.
я не против вашего метода. Я делюсь своим.
14. unichkin 1437 08.12.17 22:21 Сейчас в теме
(13) я понимаю) Но я против вашего, и делюсь этим) Поскольку сам проходил этот этап - и могу сказать, что это "идеальный газ". Отладка по контексту помогает выявить большое количество ошибок, о которых вы и не узнаете если будете все параметры эмулировать через отладочную форму. Конечно, все еще от конфы зависит, от ситуации. Но лично у меня скорость\качество разработки улучшились.
Strannik777; akocur; kild; +3 Ответить
15. binx 105 09.12.17 10:59 Сейчас в теме
вопрос, ваш метод будет работать в клиент-серверном варианте?
17. unichkin 1437 09.12.17 14:03 Сейчас в теме
16. binx 105 09.12.17 11:00 Сейчас в теме
И о каком контексте вы все время говорите кроме передаваемых в обработку параметров?
18. unichkin 1437 09.12.17 14:07 Сейчас в теме
(16) Я имею в виду что запуск обработки \ отчета происходит по пользовательскому событию. Вы будете открывать обработку в режиме предприятия, забивать параметры, нажимать на кнопку. Я буду открывать документ, вызывать команду из его формы - все также, как делает пользователь. При этом мне не понадобится перезапускать 1С, или переоткрывать инициализирующую форму - у меня есть одна команда, например для заполнения табличной части. Я вызываю ее, при этом всю разработку веду в внешней обработке.
31. strange2007 145 27.02.18 11:00 Сейчас в теме
(18) один раз выбираю во внешней обработке нужный документ, ввожу имя ТЧ и всё, хоть запереоткрывайся, ничего выбирать не надо.
19. binx 105 09.12.17 17:48 Сейчас в теме
в клиент серверном варианте кто должна лежать обработка?
20. unichkin 1437 09.12.17 20:35 Сейчас в теме
В каталоге, доступном пользователю 1С. На локальной машине с этим проблем обычно не возникает, если разнесены - сделайте шару.
21. johnnyshut23 67 09.12.17 22:30 Сейчас в теме
22. dnikolaev 19.02.18 19:01 Сейчас в теме
Красиво, просто и понятно. спасибо. Будем использовать
26. kkv90 53 22.02.18 12:00 Сейчас в теме
27. spezc 740 26.02.18 12:46 Сейчас в теме
32. Gorec17 28.02.18 16:22 Сейчас в теме
33. it@contlog.ru 12.03.18 11:14 Сейчас в теме
Спасибо в моей задаче этот метод помог. Но единственно что нужно сохранить обработку на общем ресурсе который одинаково доступен как серверу так и отладчику с клиентом. если они разнесены на разные машины то путь к обработке должен быть через \\ , а если на одной то можно как в примере. Важно чтобы предприятие и конфигуратор открывали обработку с одним и тем-же путем.
romankoav; Irwin; Vida; veiuper; +4 Ответить
34. unichkin 1437 12.03.18 18:07 Сейчас в теме
(33) ну да, это мне кажется прозрачный момент
35. ccserg 55 19.03.18 15:04 Сейчас в теме
что то я не понял , как отладить не Печатную форму , а обработку заполнения ТЧ
и не понял зачем так тода извращаться если таким же способом можно Универсальную создать ? с выбором файла ?
36. unichkin 1437 19.03.18 15:57 Сейчас в теме
(35)
и не понял зачем так тода извращаться если таким же способом можно Универсальную создать ? с выбором файла ?

Смотрите видео.. Все по аналогии. Профит:
- не надо делать лишних интерфейсов - работаем, повторяя пользовательский сценарий в 1С
- не надо эмулировать окружение (забивать параметры на форму)
- не надо использовать вспомогательные обработчики для отладки - я ими попользовался, и скорее бы такой подход назвал извращением, чем этот
37. ccserg 55 19.03.18 19:03 Сейчас в теме
(36)
в видео у вас Печатная форма , и процедура Печать в модуле обработки
у меня обработка ТЧ документа ,
в СведенияОВнешнейОбработке описана команда открытия допформы и все действия в модуле формы уже
не понятно куда в таком случае добавлять код который у вас в процедуре Печать добавляется ?
38. unichkin 1437 19.03.18 21:45 Сейчас в теме
(37)
не понятно куда в таком случае добавлять код который у вас в процедуре Печать добавляется ?

Дайте пример? Вообще, по-идее на форме должен быть только интерактив, а основные действия - в модуле объекта.
39. ccserg 55 20.03.18 06:58 Сейчас в теме
(38)вот к примеру эта обработка
https://infostart.ru/public/561065/
если надо могу её вам скинуть
вызывается форма , где указываются параметры , из формы они переносятся в документ
код в модуле обработки :
Функция СведенияОВнешнейОбработке() Экспорт
	Назначения = Новый Массив ;
	Назначения.Добавить("Документ.ТабельУчетаРабочегоВремени") ;
	
	ПараметрыРегистрации = Новый Структура ;
	ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
	ПараметрыРегистрации.Вставить("Назначение",Назначения);
	ПараметрыРегистрации.Вставить("Наименование","Заполнить Сводно");
	ПараметрыРегистрации.Вставить("Версия","1.0");
	ПараметрыРегистрации.Вставить("Информация","Дополнительная обработка табличной части табеля");
	ПараметрыРегистрации.Вставить("БезопасныйРежим",Ложь); ///--отладка

	
	Команды = ПолучитьТаблицуКоманд() ;
	ДобавитьКоманду(Команды, "Заполнить сводно","ЗаполнитьДокумент","ОткрытиеФормы",Истина,) ;
	

	ПараметрыРегистрации.Вставить("Команды",Команды) ;
	

	Возврат ПараметрыРегистрации;

КонецФункции

Показать

остальной код в уже в форме
40. unichkin 1437 20.03.18 11:52 Сейчас в теме
(39)
ОткрытиеФормы

Как я думал - обвал по архитектуре. Таблицу необходимо заполнять на сервере. Саму таблицу - в табличную часть, заполняем ее на сервере, на клиенте отражаем результат заполнения. Серверный метод можно отладить, используя данный подход. Предупреждая вопросы - переносить алгоритм заполнения на сервер надо не ради отладки, а ради соблюдения ИТС, см. например Минимизация кода, выполняемого на клиенте.
Саму форму теоретически отладить можно, для этого надо сделать метод экспортным и переопределить открытие формы, открыв форму внешней обработки - однако у меня ни разу такой потребности не возникало.
41. ccserg 55 20.03.18 11:58 Сейчас в теме
(40)
как таблицу на сервере ? форма документа открыта на клиенте , зачем её на сервере заполнять
или я не понимаю что то ?
почитал по ссылке , там про сложные алгоритмы и ресурсы компа , это не важно абсолютно в моём случае
42. unichkin 1437 20.03.18 12:21 Сейчас в теме
(41)
зачем её на сервере заполнять

- затем, что работа с таблицей формы в большинстве случаев может породить неявные вызовы сервера. Во-вторых - в принципе при разработке надо стремиться к тому чтобы на форме был только интерактив, весь служебный интерфейс необходимо разрабатывать на сервере -> в модуле объекта. Вы же совместили интерфейс с самим алгоритмом.
К сожалению, все обычно руководствуются правилом "что разрешено - то не запрещено". Почитайте статьи про рефакторинг, на ИС, возможно придете к этим-же выводам.
Не хочу здесь проводить код-ревью вашей обработки, много писать придется. Да вам оно, думаю и не надо)
43. ccserg 55 20.03.18 12:53 Сейчас в теме
(42)скорей всего и не надо , до управляемых форм все было отлично
как на эту ерунду (клиент/сервер) перешли так всё по другому стало ... а многим оно и не нужно
а я прикладные задачи решаю а не глобальные ...
и как вы заметили , кода прибавляется , зачем непонятно , когда тут простейшие алгоритмы
спасибо , может почитаю чего нибудь в этом направлении

а у вас есть пример любой обработки с этим кодом ? поделитесь пожалуйста .
44. unichkin 1437 20.03.18 14:16 Сейчас в теме
(43) Посмотрите примеры в БСП, вот демка для заполнения контрагентов
Прикрепленные файлы:
_ДемоЗаполнениеКонтрагентов.epf
rudak_a; ccserg; +2 Ответить
54. SlavaKron 02.06.18 04:21 Сейчас в теме
(37) Отладить как клиентские так и серверные вызовы, достаточно перед самым запуском подключаемой команды открыть вашу обработку через "Файл->Открыть", потом закрыть и запустить команду. Всё выполнение будет передано этой обработке из файла (имя обработки, естественно, должно совпадать с именем объекта из справочника ДополнительныеОтчетыИОбработки). Версия БСП - 2.4.5.31
Disly; Lazio; veiuper; Piittech; +4 Ответить
55. unichkin 1437 02.06.18 16:16 Сейчас в теме
(54)
(37) Отладить как клиентские так и серверные вызовы, достаточно перед самым запуском подключаемой команды открыть вашу обработку через "Файл->Открыть", потом закрыть и запустить команду. Всё выполнение будет передано этой обработке из файла (имя обработки, естественно, должно совпадать с именем объекта из справочника ДополнительныеОтчетыИОбработки). Версия БСП - 2.4.5.31

Что-то не выходит у меня..
56. SlavaKron 02.06.18 17:41 Сейчас в теме
(55) Двоичные данные внешней обработки из файла должны полностью совпадать с двоичными данными из справочника. Поэтому при каждом изменении в файле, нужно загружать его в справочник.
Когда вы открываете файл обработки через меню Файл-Открыть, вы регистрируете ее Имя и, видимо, хеш-сумму, причем её ИспользуемоеИмяФайла - это файловый путь. Кода запускается команда подключенной обработки с таким же именем, проверяется ее хеш-сумма, и если она не совпадает, то ИспользуемоеИмяФайла заменяется на путь во временном хранилище, но если совпадает, ИспользуемоеИмяФайла не меняется и команда может быть отлажена в файле.
murenysh; +1 Ответить
58. unichkin 1437 03.06.18 00:28 Сейчас в теме
(56) Я насколько понял - вы говорите о обработке, которая после первого запуска создает 1С в временном файле. Она - да, существует до закрытия программы. Только это не отладка будет, а боль сплошная.
45. fanast2 18.04.18 13:47 Сейчас в теме
Метод прикольный, спору нет. Но только не работает у меня:

База на сервере, все сделал как в примере - отладка фоновых заданий, параметр запуска. На точки останова не тормозиться и все тут. Сообщения если оставлять, все выводит в правильном порядке. подскажите что еще попробовать можно
46. unichkin 1437 18.04.18 16:06 Сейчас в теме
(45)
База на сервере, все сделал как в примере - отладка фоновых заданий, параметр запуска. На точки останова не тормозиться и все тут. Сообщения если оставлять, все выводит в правильном порядке. подскажите что еще попробовать можно

Отладка \ Подключение \ Подключенные предметы отладки - должны при запуске базы автоматически светится две строки. Тонкий клиент \ Сервер. Это есть?
47. fanast2 19.04.18 04:51 Сейчас в теме
(46) Да, есть. Платформа 8.3.10.2580. Еще один факт: пробую печатать - отладка не запускается. Следом открываю обработку через файл - открыть, нажимаю кнопку и ТОЖЕ НЕ ПОПАДАЮ В ОТЛАДКУ. В конфигураторе ставлю пробел, сохраняю, открываю - появляется отладка.
то есть смысл в том, что если нажать кнопку печать, то отладка отваливается от этого файла...?

обработка лежит на сетевом диске, он доступен ото всюду. путь тоже правильно написан
48. fanast2 19.04.18 05:26 Сейчас в теме
(47) Поставил точку останова в общем модуле, в который обращается моя обработка, поскольку точки останова в самой обработине не работали. И воуаля, мы зашли туда, F11, и выходим снова в обработку. Но только открылось другое окно (которое слева на картинке)

Как я понял проблемы была в букве сетевого диска и пути к обработке. Я открыл вот такую обработку N:\\*** а через общий модуль открылась обработка вот с таким путем \\192.168****\
Прикрепленные файлы:
49. unichkin 1437 19.04.18 11:49 Сейчас в теме
(48)
Как я понял проблемы была в букве сетевого диска и пути к обработке. Я открыл вот такую обработку N:\\*** а через общий модуль открылась обработка вот с таким путем \\192.168****\

А, да, есть такое. Пути должны быть одинаковые.
68. InJey 17.01.19 09:57 Сейчас в теме
Почему не получается?

{ВнешняяОбработка.СчетЗаказКлиентаВнешнийКирсановаТЕСТ.МодульОбъекта(49)}: Ошибка при вызове метода контекста (Создать)
обр = ВнешниеОбработки.Создать(Адрес, БезопасныйРежим());
по причине:
Ошибка подключения внешних метаданных
по причине:
Каталог не обнаружен 'E:\1\Тест.epf'

все сделал по инструкции, пробовал несколько раз менять адрес каталога
69. unichkin 1437 17.01.19 20:04 Сейчас в теме
(68)
все сделал по инструкции, пробовал несколько раз менять адрес каталога

Предполагаю что каталог на сервере не обнаружен
70. InJey 19.01.19 16:15 Сейчас в теме
(69) да я не верно разместил каталог
50. ivamailh 31.05.18 17:45 Сейчас в теме
Отличное видео. Все сработало. Спасибо!
51. user705522_constantin_h 34 31.05.18 20:32 Сейчас в теме
57. pavelyar 02.06.18 18:04 Сейчас в теме
59. vpaoli 24 13.07.18 16:47 Сейчас в теме
ваше кино на ютубе не открывается. битая ссылка. хотя бы картинку добавили. ничего понять невозможно в такой статье.
60. user705522_constantin_h 34 13.07.18 17:27 Сейчас в теме
(59)У меня открылось https://www.youtube.com/watch?time_continue=21&v=5ffBzFNOSeM.
Проблемы с вашим интернетом.
61. vpaoli 24 13.07.18 17:54 Сейчас в теме
сорри.
это на моей работе ограничивают досступ к ютуб
62. PerlAmutor 127 26.08.18 09:29 Сейчас в теме
Уточните, пожалуйста, следующие моменты:
- вариант работает на клиент-серверном варианте?
- конфигуратор должен быть открыт на той же машине, где работает сервер предприятия 1С?

Я попробовал использовать сетевую папку которая доступна с сервера и клиента, путь одинаковый, но точка остановки не срабатывает.

Для варианта вызова ТипКомандыВызовКлиентскогоМетода() видимо отдельно придумывать нужно что-то, т.к. создать обработку на клиенте невозможно.
64. unichkin 1437 28.10.18 04:02 Сейчас в теме
(62) Везде работает, все равно где открыт конфигуратор. Про вызов клиентского - видимо, да, не сталкивался до сих пор, соотв. не было нужды что-то изобретать. Но вообще - возможно, в режиме толстого клиента УФ. Да и на тонком возможно, только гемора чуть побольше.
65. SergSergWolf 3 15.11.18 18:31 Сейчас в теме
На каком релизе платформы работает?
Пробую на 8.3.12.1469

Условие

Если Адрес <> ЭтотОбъект.ИспользуемоеИмяФайла

выполняется всегда, так как свойство ЭтотОбъект.ИспользуемоеИмяФайла содержит темпоральное имя в виде
"e1cib/tempstorage/186306aa-905d-4790-bf3d-de9944665b4c"

из за этого возникает бесконечный рекурсивный вызов процедуры
66. SergSergWolf 3 15.11.18 18:47 Сейчас в теме
... заработало
Какие то глюки с кэшем
67. kasperiks 6 12.12.18 09:35 Сейчас в теме
Спасибо за статью, очень помогла. Особенно с последними версиями БСП 2.4
76. AZel84 51 26.04.19 05:55 Сейчас в теме
Плюс как минимум за это:
Правой кнопкой мыши по файлу с шифтом - "Копировать как путь"
elga2012; OldGarry; Suslik_Johns; murat_; Gorus; +5 Ответить
83. Suslik_Johns 07.05.20 21:34 Сейчас в теме
(76) это точно!) тоже взяли на заметку
77. Gorus 48 09.05.19 13:13 Сейчас в теме
Спасибо за идею.
Правда, у меня иногда крашился клиент. Пришлось добавить исключение по ЭтомуОбъекту в "ЗаполнитьЗначенияСвойств":
Если Адрес <> ЭтотОбъект.ИспользуемоеИмяФайла Тогда
	обр = ВнешниеОбработки.Создать(Адрес, БезопасныйРежим());
	ЗаполнитьЗначенияСвойств(обр, ЭтотОбъект, , "ЭтотОбъект");
	обр.ОтлаживаемаяПроцедура(Параметр1, Параметр2);
	Возврат; 		
КонецЕсли; 
murenysh; +1 Ответить
78. Egor_R 06.02.20 11:01 Сейчас в теме
Спасибо большое за ценную статью! Работает.
79. ShiftKod 10.03.20 14:05 Сейчас в теме
А у меня вот такое выдает.

Переполнение стека встроенного языка на сервере
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(240)}: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(40)}: ВыполнитьОткрытиеПечатнойФормыЗавершение(ОбъектыНазначения, Параметры);
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(494)}: МодульУправлениеПечатьюСлужебныйКлиент.ВыполнитьОткрытиеПечатнойФормы(
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(264)}: ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ВыполняемаяКоманда.ОбъектыПечати);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(101)}: МодульДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуПечати(ОписаниеКоманды, Форма);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(26)}: ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(190)}: ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(60)}: ПродолжитьВыполнениеКоманды(Контекст);
{Документ.ВозвратТоваровПоставщику.Форма.ФормаСписка.Форма(300)}: ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список);

по причине:
Переполнение стека встроенного языка на сервере
по причине:

ОбщаяФорма.ПечатьДокументов.Форма : 43 : КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
ОбщаяФорма.ПечатьДокументов.Форма : 479 : УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
ОбщийМодуль.УправлениеПечатью.Модуль : 1610 : ВнешняяОбработкаОбъект.Печать(
ВнешняяОбработка.ПечатныеФормыВозвратТоваровПоставщику.МодульОбъекта : 53 : Обр.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
...
ВнешняяОбработка.ПечатныеФормыВозвратТоваровПоставщику.МодульОбъекта : 53 : Обр.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
ВнешняяОбработка.ПечатныеФормыВозвратТоваровПоставщику.МодульОбъекта : 53 : Обр.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
ВнешняяОбработка.ПечатныеФормыВозвратТоваровПоставщику.МодульОбъекта : 53 : Обр.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
ВнешняяОбработка.ПечатныеФормыВозвратТоваровПоставщику.МодульОбъекта : 52 : Обр = ВнешниеОбработки.Создать(Адрес, БезопасныйРежим());
по причине:
Переполнение стека встроенного языка на сервере
80. unichkin 1437 10.03.20 15:12 Сейчас в теме
(79) После регистрации в доп. обработках вызов надо закомментировать, посмотрите внимательнее видео
114. angabanga5 06.07.21 13:59 Сейчас в теме
(80) ну я закоментил, всеравно ошибка. потом закоментил и сохранил на всякий случай- ну тогда отладка не начинается)
81. george_tag 13 12.03.20 11:10 Сейчас в теме
Молодец. Я было начал городить какие-то формы для отладки, а тут все просто оказалось. Сам бы я не додумался. Спасибо.
82. user1129453 27.04.20 03:55 Сейчас в теме
Очень интересная статья. Спасибо автору. Видео раз 5 посмотрел. Вопрос такой, а если нет процедуры печать, если это не внешняя печатная форма, а внешняя обработка без печати, как делать в этом случае? как отлаживать?
84. Deimich 26.10.20 11:27 Сейчас в теме
(82) ну так ставьте точку останова в любой вызываемой функции/событии, какая в принципе разница то.
но боюсь, если у вас этот вопрос возникает - то вам надо углубить базовые знания информатики/программирования.
85. request4t 03.11.20 16:47 Сейчас в теме
а если нет функции СведенияОВнешнейОбработке()?
86. unichkin 1437 04.11.20 02:27 Сейчас в теме
(85) она здесь используется только потому что это доп. обработка, подключаемая через подсистему БСП. Если включен безопасный режим, платформа запрещает использование внешних ресурсов, и ничего не выйдет.
Если такого метода нет - значит нет БСП, либо внешняя обработка не через БСП работает. И надо иным способом это предусмотреть. Для начала просто попробовать запустить, если ошибок нет - все ок. Но навряд-ли кто-то в своей нетленке будет им пользоваться.
87. nollff 7 05.11.20 16:13 Сейчас в теме
Удалось попасть в экспортную процедуру ВыполнитьКоманду(Идентификатор, ПараметрыВыполнения)
, правда не сразу вышло, но в результате остановился по точке в этой процедуре. Спасибо за статью.
88. ybatiaev 56 08.12.20 17:28 Сейчас в теме
Добрый день!
А отладка заполнения ТЧ будет так работать?

Вот ошибка - Метод объекта не обнаружен (ЗаполнитьТЧ)
{ВнешняяОбработка.ЗаполнениеОтчетаПроизводстваЗаСмену.Форма.Форма.Форма(341)}: Обр.ЗаполнитьТЧ(пер);
Код находится в форме, которая есть для заполнения ТЧ, в ней описана команда(не клиенте). Из неё эту функцию и вызываю.

&НаСервере
Функция ЗаполнитьТЧ(Док)
	//Адрес = "C:\Users\***\Заполнение отчета производства 201208_006.epf";
	//обр = ВнешниеОбработки.Создать(Адрес, БезопасныйРежим());
	//Обр.ЗаполнитьТЧ(Док);
	//Возврат Истина;
	ПОпытка
	Об = РеквизитФормыВЗначение("Объект");   
Показать
91. unichkin 1437 08.12.20 18:06 Сейчас в теме
(88) Любой серверный метод так можно отладить. Только:
- путь к обработке должен быть доступен с сервера
- в конфигураторе надо открывать обработку по тому же пути. Бывает что путь указывают как сетевой адрес, напр. \\101.20.99.4\Шара\МояОбработка.epf, а открывают из сетевого диска напр. z:\МояОбработка.epf - так не взлетит, открывать надо тот же адрес
- безопасный режим должен быть выключен
93. ybatiaev 56 08.12.20 18:50 Сейчас в теме
(91) Путь тут нормальный. Во время загрузки не находит ЗаполнитьТЧ(Док) почему-то. Что я тут не верно сделал? Эта функция вызывается с формы клиента из функции
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт


Короче закопался (((
96. unichkin 1437 08.12.20 19:13 Сейчас в теме
(93) я так понимаю, метод у вас на форме расположен. А чтобы это все сработало он должен быть экспортным в модуле объекта. Его там нет, и 1С закономерно на это ругается.
89. OldGarry 08.12.20 17:33 Сейчас в теме
Подскажите начинающему, как по этому методу отладить обработку с обращением к пользователю?
В СведенияОВнешнейОбработке() у меня следующие параметры:
Вид = "ЗаполнениеОбъекта";
КомандаИспользование = "ВызовКлиентскогоМетода";

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

Я столкнулся с проблемой - моя внешняя обработка в результате выполнения кода водвешивает пользовательский режим. Надо отладить, ваш бы метод мне мог бы очень помочь...
90. ybatiaev 56 08.12.20 17:47 Сейчас в теме
(89) Можно так
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
	ДопПараметры = новый структура("ссылкаНаСущность", НеОпределено);
	ПоказатьВопрос(Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ЭтотОбъект, ДопПараметры),
                                                        "Что будем делать?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры	

&НаКлиенте
Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт
    Если Результат = КодВозвратаДиалога.Нет Тогда
        Возврат;
	КонецЕсли;
	ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.Форма.ФормаВыбора");
	ФормаВыбора.Открыть();
КонецПроцедуры
Показать
92. unichkin 1437 08.12.20 18:09 Сейчас в теме
(89) именно на клиенте метод не отладите, см. куда он потом на сервер стучится, там и работайте. Либо используйте расширение ИР (http://devtool1c.ucoz.ru/) - там отлаживается целиком вся обработка, и таких проблем не возникает.
94. ybatiaev 56 08.12.20 18:52 Сейчас в теме
(92) скачал, поставил. Уйма всего. Не направите на путь?
95. unichkin 1437 08.12.20 19:10 Сейчас в теме
(94) На том же сайте \ в расширении есть справка, все довольно просто и последовательно. Начните с команды "Отладка внешних обработок БСП (ИР)", только запускайтесь в толстом УФ клиенте. Дальше все интуитивно
ybatiaev; +1 Ответить
97. OldGarry 09.12.20 12:37 Сейчас в теме
(92) С бедой худо бедно разобрался. ) Спасибо.
Теперь попробую "ВызовСерверногоМетода" с вашим методом отладки...
Ссылка, на ИР у меня не открывается (404 ошибка). Есть какой-то секрет?
98. unichkin 1437 09.12.20 17:16 Сейчас в теме
Оставьте свое сообщение

См. также

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

Механизмы платформы 1С v7.7 v8 Бесплатно (free)

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

27.01.2016    88305    Serginio    116    

Динамическое обновление - это зло?

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Копнем глубже в тему "Что же такое динамическое обновление" и почему оно может привести к проблемам. И может ли?

09.05.2022    7214    YPermitin    64    

Об одной неочевидной проблеме перехода на версию платформы 8.3.20

Механизмы платформы 1С v8 Бесплатно (free)

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

08.04.2022    3558    Kernelbug    22    

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

Механизмы платформы 1С v8 Бесплатно (free)

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

28.03.2022    3363    Gladkov_Anton    3    

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

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

10.12.2016    41805    unichkin    74    

Фишки платформы 1С 8.3 для начинающего разработчика

Механизмы платформы 1С v8 1cv8.cf Россия Бесплатно (free)

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

11.03.2022    7450    Dimbayyyy    96    

Экспертный кейс. Расследование деградации производительности системы. Проведение документа “Поступление товаров и услуг” (1С:ERP 2)

Механизмы платформы 1С Запросы HighLoad оптимизация v8 ERP2 Бесплатно (free)

В ходе проведения нагрузочного тестирования одним из наших клиентов была выявлена сильная деградация производительности системы в целом и, в частности, выполнения ключевой операции “Проведение документа поступление товаров и услуг” в течение выполнения теста. Согласно данным подсистемы БСП “Оценка производительности”, время выполнения ключевой операции “Проведение документа поступление товаров и услуг” возрастало в процессе тестирования с 15-20 секунд в начале тестирования до 150-200 секунд в его финале.

02.03.2022    2799    it-expertise    47    

Модульная архитектура или пара слов о расширениях. Часть I (мысли, рассуждения)

Механизмы платформы 1С v8 Бесплатно (free)

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

14.02.2022    4448    amon_ra    67    

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

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

15.10.2018    37840    tormozit    107    

Синхронный и асинхронный вызов в новых версиях платформы

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

31.01.2022    3078    Shining_ninja    15    

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

Универсальные функции Механизмы платформы 1С v8 Бесплатно (free)

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

12.11.2021    7991    acces969    95    

Как спроектировать структуру регистра сведений

Механизмы платформы 1С v8 v8::Запросы Бесплатно (free)

«Что может быть проще?» — это первое, что приходит в голову. Но что, если это не так? В этой статье мы попробуем затронуть некоторые вопросы, которые могут возникнуть при проектировании больших регистров.

08.11.2021    6368    Neti    60    

Как прикрутить ГУИД к регистру сведений Промо

Механизмы платформы 1С v8 Бесплатно (free)

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

16.04.2019    23980    m-rv    18    

О вложенных попытках, исключениях и о представлении ошибок

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

07.11.2021    3784    Nicholas    17    

Обработчик ожидания. Нюансы

Механизмы платформы 1С v8 Бесплатно (free)

ПодключитьОбработчикОжидания: некоторые подробности и особенности работы

24.08.2021    11604    Yashazz    25    

Прогресс-бар в поле динамического списка

Механизмы платформы 1С v8 Бесплатно (free)

Изображаем прогресс-бары в колонке динамического списка

23.08.2021    3352    Yashazz    13    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

05.12.2017    31293    itriot11    34    

ПриПолученииДанныхНаСервере + Контекст формы. Лайфхак

Механизмы платформы 1С v8 Бесплатно (free)

Передать свои произвольные данные в событие, которое "без контекста"? Легко!

13.08.2021    4402    Yashazz    16    

Новичок новичку: как добавить программно кнопку на форму путем расширения

Механизмы платформы 1С v8 Россия Бесплатно (free)

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

13.05.2021    17827    user1312100    23    

Программное создание расширения

Механизмы платформы 1С v8 Бесплатно (free)

Создание нового расширения "на лету", только штатными средствами 1С.

06.04.2021    5232    Yashazz    14    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

Механизмы платформы 1С v8 Бесплатно (free)

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

04.09.2017    60518    m-rv    63    

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

Механизмы платформы 1С v8 v8::УФ Платформа 1C v8.2 1cv8.cf Бесплатно (free)

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

02.04.2021    17935    SeiOkami    56    

Флаг "Использовать ПОЧТИ всегда", или Нюанс динамических списков

Механизмы платформы 1С v8 Платформа 1C v8.2 1cv8.cf Бесплатно (free)

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

11.02.2021    7096    SeiOkami    36    

Расширенный автоподбор при вводе по строке в поле ввода в управляемых формах

Механизмы платформы 1С v8 v8::УФ 1cv8.cf Бесплатно (free)

Началось все с того, что штатный автоподбор при вводе по строке в поле ввода для некоторых больших справочников устраивать перестал. Вообще, для способа поиска строки "Любая часть" он работает на первый взгляд очень хорошо: работает как полнотекстовый (т.е. по нескольким словам) даже без активации полнотекстового поиска, красиво подсвечивает слова поиска в результатах. Казалось бы, все отлично. Но есть неприятное ограничение - всего лишь 10 значений в результирующем списке (у вас может быть несколько больше, так как платформа неявно добавляет результаты поиска по истории ввода). Для небольших справочников или справочников с разнородным ассортиментом все хорошо. Но не в моей ситуации. А простых путей увеличить количество выдаваемых строк на момент написания статьи мне обнаружить не удалось. Пришлось полностью переопределять автоподбор. Ниже речь пойдет именно об этом. И, к слову, в типовых конфигурациях для некоторых справочников используются похожие приемы для увеличения количества строк результата автоподбора.

21.01.2021    5418    herfis    7    

Регулярные выражения без внешних компонент? Легко! Промо

Механизмы платформы 1С v8 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    74276    starik-2005    109    

О формах 1С замолвите слово... Необычное использование знакомого всем объекта

Механизмы платформы 1С v8 Бесплатно (free)

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

13.01.2021    8753    CyberCerber    46    

Ускоряем медленный/долгий и тормозной стандартный поиск по динамическому списку, настраиваем его под себя

Механизмы платформы 1С v8 v8::УФ 1cv8.cf Бесплатно (free)

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

14.12.2020    30015    SizovE    2    

Передача параметров по значению в языке 1С

Механизмы платформы 1С v8 ИТ-компания Бесплатно (free)

Все мы знаем, что в 1С можно написать такое: Процедура ОбработатьОбъект(Знач Объект) КонецПроцедуры Т.е. тем самым мы передаем в процедуру параметр по значению Далее в статье будут рассмотрены некоторые особенности передачи по значению объектов НЕпримитивных типов.

26.11.2020    4008    direktorSan    9    

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

Механизмы платформы 1С v8 1cv8.cf Россия Бесплатно (free)

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

24.06.2007    90176    tormozit    31    

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий "НачалоВыбора", "Автоподбор")

Механизмы платформы 1С v8 v8::УФ Бесплатно (free)

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

15.11.2020    9378    Eugen-S    11    

Групповое изменение реквизитов объектов расширений

Механизмы платформы 1С v8 ERP2 УТ11 КА2 Бесплатно (free)

Доработка встроенной обработки "Групповое изменение реквизитов" для возможности изменения ссылочных реквизитов с ссылками на объекты расширения. Работает в Комплексной конфигурации 2.4.

07.11.2020    2179    Alfn    14    

Новый взгляд на старое. Внешняя печатная форма – НАСТРАИВАЕМАЯ

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

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

2 стартмани

21.10.2020    7560    36    user1209971    27    

Программные перечисления, ч.2: приемы кэширования при разработке Промо

Универсальные функции Механизмы платформы 1С Запросы v8 Бесплатно (free)

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

30.10.2017    28481    unichkin    18    

Лайфхаки для разработчиков 1С. Часть 1

Универсальные функции Механизмы платформы 1С v8 Россия Бесплатно (free)

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

30.09.2020    7756    Neti    47    

Множественные клики [Полтергейсты 1С]

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Что будет, если нажимать на кнопки в Предприятии в момент выполнения кода? А если в отладке? Оказывается, 1С в отладке в ожидании запоминает нажатые кнопки, а потом выполняет их поочерёдно...

25.09.2020    1847    SeiOkami    6    

Контекст любого объекта конструкцией #Если Фамилия Тогда

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Делаем инициализацию переменной в "своей" инструкции препроцессора, для получения контекстной подсказки объекта через точку. В дальнейшем в компилированном коде сама инициализация игнорируется, т.к. "своя" инструкция препроцессора НИКОГДА не выполняется.

17.08.2020    2717    sapervodichka    36    

Недокументированное использование стандартных обработок из меню "Все функции". Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

19.06.2015    124069    ekaruk    138    

Новое отображение ошибок в 1С

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Рассмотрим развитие механизма отображения ошибок в 1С (начиная с 8.3.17)

10.08.2020    25200    SeiOkami    44    

Динамический список, ключи записей. Нюансы

Механизмы платформы 1С v8 Бесплатно (free)

Заметки об особенностях динамических списков с произвольным запросом и видом ключа, отличным от "Авто"

07.08.2020    7402    Yashazz    6    

Вы запускаете приложения, но делаете это без уважения

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

21.07.2020    11388    YPermitin    32    

Простая и быстрая эмуляция операций с битовыми строками Промо

Механизмы платформы 1С v8 Бесплатно (free)

Битовые строки могли бы упростить реализацию некоторых алгоритмов на языке платформы «1С: Предприятие 8». Но пока в платформе операций с битовыми строками нет. В то же время уже сделанные попытки смоделировать эти операции преобразованиями над числами опираются на циклы обработки отдельных битов, что плохо сказывается на скорости их работы. Предлагается новое простое решение, основанное на представлении битовых строк строками символов «0» и «1». Приводится примеры кода выполнения основных логических операций AND, OR, XOR, NO без использования циклов. В качестве прикладной задачи рассмотрено получение последовательных значений кода Грэя, который можно использовать для ускорения перебора вариантов.

22.06.2016    30629    ildarovich    14    

Использование Стека вызовов в качестве условия оператора Если [...] Тогда

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.

12.07.2020    10027    sapervodichka    62    

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

Механизмы платформы 1С v8 v8::УФ 1cv8.cf Бесплатно (free)

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

12.05.2020    10912    SeiOkami    34    

Как обойти глюк механизма расширений. Пошаговая инструкция в картинках

Механизмы платформы 1С v8 БП3.0 Бесплатно (free)

После очередного обновления Бухгалтерии 3.0 в одной очень известной фирме мне звонит наш программист 1С, который ведет эту фирму, со словами - Шеф. Все пропало. Нам конец. Наше расширение грохнулось.

26.04.2020    13796    alfanika    21    

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

Механизмы платформы 1С v8 Бесплатно (free)

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

12.01.2016    352493    mrXoxot    209    

Выгрузка новых стандартных обработок

Механизмы платформы 1С v8 Россия Бесплатно (free)

Описывается способ определить адрес ресурса, по которому стандартная обработка хранится в платформе 8.3, с последующим сохранением обработки в файл внешней обработки.

24.04.2020    2869    anddro    5    

Совместимость работы со строками. Жизнь до 8.3.6 и после

Механизмы платформы 1С v8 Бесплатно (free)

Немного о совместимости со старыми версиям платформы 1С в работе со строками.

21.02.2020    6505    YPermitin    24    

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

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

06.02.2020    18129    Xershi    47    

Как устроена регламентированная отчетность в 1С Промо

Механизмы платформы 1С v8 1cv8.cf Россия БУ Бесплатно (free)

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

30.11.2015    82252    mrXoxot    31    

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

Механизмы платформы 1С v8 Россия Бесплатно (free)

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

30.12.2019    42879    kuzyara    38    

Анализ функциональности: где наш код?!

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

02.12.2019    4607    Kindman1980    12    

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

Математика и алгоритмы Механизмы платформы 1С v8 Бесплатно (free)

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

02.12.2019    28875    YPermitin    63    

"При изменении" подсистемы. Привет от 8.2!

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Отлавливаем событие "При изменении" подсистемы.

14.11.2019    8217    YPermitin    13