Советы из Желтой тетради 📒 #1

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

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

v8 платформа 1cv8.cf БСП ССиМ

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

Узнать имя формы в режиме Предприятие

 


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

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

 

Программная доработка форм типовых конфигураций

 


В типовых конфигурациях в формах ПриСозданииНаСервере вызывается метод общего модуля СобытияФорм (см. скрин 1). Если расширить только этот модуль, то можно в одном модуле собрать все программные модификации форм (см. скрин 2).

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

 

Кеширование предопределенных значений на клиенте


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

ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо");

При использовании БСП вместо ПредопределенноеЗначение можно использовать ОбщегоНазначения.ПредопределенныйЭлемент или ОбщегоНазначенияКлиент.ПредопределенныйЭлемент. Это то же самое, только не падает с ошибкой, если получать несуществующее значение.

 

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


Известно, что подписки на событие вызываются в последнюю очередь: сперва обработчик события в модуле объекта, затем или перед ним код из расширений этого метода (если есть), после - подписки на событие.
Это можно прочитать на ИТС, там же указано, что подписки вызываются в произвольном порядке.

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

Когда важна очередность выполнения, надёжнее всего реализовать очередность в коде, а количество подписок сократить.

 

Кеширование данных ИБ


Раньше, для ускорения 1С и сокращения обращений к СУБД, данные кешировали в параметрах сеанса. Затем в платформу добавили общие модули с повторным использованием возвращаемых значений (читай "кеш").

В ССиМ есть статья с рекомендациями по использованию общих модулей с повторным использованием. Из интересного:
🔸 Закешированное значение будет удалено из кэша через 20 минут после вычисления или через 6 минут после последнего использования
🔸 Нельзя менять данные, полученные из кэша
🔸 Внутренние вызовы модулей с повторным использованием не кэшируются
🔸 При кэшировании на время сеанса нельзя использовать значения типа Запрос и объекты базы данных
🔸 Метод глобального контекста ОбновитьПовторноИспользуемыеЗначения() удаляет все повторно используемые значения

 

Простая печать комплектов


Для вывода на печать нескольких форм и нескольких экземпляров можно не писать свой обработчик печати. БСП позволяет добавить команду печати, указав формы через запятую в поле Идентификатор:
 

КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Счет,ТОРГ12,ТОРГ12";
КомандаПечати.Представление = "Комплект (счет и 2 торг12)";
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;

Конечно, вывод форм, входящих в комплект, должен быть заранее реализован (каждой отдельной формы).

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. lavash67 15.03.21 09:15 Сейчас в теме
Отличная информация!
DrAku1a; Zixi; builin; +3 3 Ответить
3. builin 47 15.03.21 11:35 Сейчас в теме
7. Yashazz 3753 15.03.21 13:05 Сейчас в теме
(1) Это чем она отличная? Наваленные вперемешку простейшие факты.
ovasiliev; buganov; _OLEG; asupsam; t278; rpgshnik; AnryMc; Andreeei; amoarok; Поручик; +10 3 Ответить
24. lavash67 15.03.21 13:30 Сейчас в теме
(7) любая профильная информация повышает средний градус грамотности разработчиков. Вместо негатива можно было бы конструктивной критики добавить.
DrAku1a; Torin57; Merkalov; Neuroproton; +4 Ответить
37. FatPanzer 13 15.03.21 14:47 Сейчас в теме
(24) Не факт! Если даже самой отличной водкой пытаться разбавлять спирт - градус понижается!!!
(Запишите себе в тетрадочку с лайфхаками, кстати)
e.kogan; Yashazz; +2 1 Ответить
47. adhocprog 1197 15.03.21 17:50 Сейчас в теме
(24)
можно было бы конструктивной критики добавить

а лучше статью )
2. user803412 15.03.21 09:16 Сейчас в теме
4. builin 47 15.03.21 11:36 Сейчас в теме
6. Yashazz 3753 15.03.21 13:04 Сейчас в теме
(2) А ты, мил человек, давно ли в 1С, что такому радуешься? Так ты лучше ступай почитай жёлтеньку книжечку, там тебя и не такие открытия ждут)))
buganov; ovasiliev; FatPanzer; Поручик; +4 3 Ответить
5. Yashazz 3753 15.03.21 13:04 Сейчас в теме
Блин, ещё одно... Я вот не понимаю, Инфостарт это что, площадка для личных блогов всяких пионэров? Которые для себя обнаружили элементарную вещь и радостно постят?

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

Это не лайфхаки, товарищи. Это элементарщина. Если для вас это лайфхак, то сочувствую.

Вы вообще что, издеваетесь? Давайте ещё синтакс-помощник перепостим, загребём кучу плюсиков и выйдем в топ, ага?

Вконец охренели уже.
zaic; ovasiliev; buganov; a.kazeko; Dach; Revachol; velemir; IrrI; headMade; dhurricane; zqzq; cleaner_it; t278; rpgshnik; FatPanzer; theshadowco; amoarok; Поручик; +18 3 Ответить
12. Alexsh_kz 15.03.21 13:13 Сейчас в теме
(5) Спокойствие, только спокойствие!
Кому не интересно, может просто пройти мимо не оставляя следов, не выплескивая желчь на желтые страницы желтой тетради :)))
AzagTot; Award; andy23; Merkalov; CheBurator; builin; Krio2; SeiOkami; Поручик; +9 1 Ответить
14. Yashazz 3753 15.03.21 13:19 Сейчас в теме
(12) Это не вопрос интереса. Это вопрос элементарной чистоплотности. Если автор и вы считаете такое ведение блогов в порядке вещей на таком ресурсе, то давайте я буду каждый вечер например рассказывать, чего-как делал? или перепощу ИТС с кусками Зазеркалья? Или вообще расскажу, что есть такой обалденный метод, который выводит текст на экран, "Сообщить" называется? Во все будут кипятком отливать, а)))
buganov; velemir; pavlov_dv; Andreeei; +4 1 Ответить
16. Alexsh_kz 15.03.21 13:22 Сейчас в теме
(14) Так вперед, вместо того, чтобы разводить срачь в комментах, сделали бы полезное и главное - всем интересное дело. :)
Уверен, что вы найдете свою аудиторию :)
17. Yashazz 3753 15.03.21 13:23 Сейчас в теме
(16) Мимо, товарищ, мимо) Я на такие подначки не ведусь. Мы сейчас о конкретной хрени, которую выдали за публикацию и которой место в блогосфере, а не обо мне.
buganov; cleaner_it; +2 1 Ответить
18. Alexsh_kz 15.03.21 13:25 Сейчас в теме
(17) Если бы не ваши комментарии, я бы прочитал, не увидел ничего интересного, закрыл бы и забыл, что здесь написано, а так уже минут 30 страница не закрывается :)))
Award; Deslime; builin; CyberCerber; Поручик; +5 1 Ответить
23. builin 47 15.03.21 13:30 Сейчас в теме
(5) Потому что большинство программистов 1С не входят в вашу элиту и такие простые вещи расширяют их кругозор.
Завидуйте молча, коллега. И никто не мешает проходить мимо или самому писать о том, что вы сами считаете интересным для людей.
AzagTot; Award; Deslime; qazaz2; andy23; Светлый ум; Merkalov; SeiOkami; adhocprog; CyberCerber; lavash67; +11 2 Ответить
27. Yashazz 3753 15.03.21 13:34 Сейчас в теме
(23) ну если те, кто умеет читать новости от 1С и описания обновлений в платформе, вам кажутся "элитой", то скорее уж вы нам завидуйте давайте.
JohnConnor; t278; Xershi; FatPanzer; +4 1 Ответить
40. Xershi 1137 15.03.21 15:06 Сейчас в теме
(27) статья рассчитана на разработчиков до 2 лет опыта. Думаю автор забыл это упомянуть.
А это ключевое правило!
Единственный нюанс это про подписки с общим типом почерпнул.
Светлый ум; asupsam; t278; rpgshnik; +4 Ответить
41. Yashazz 3753 15.03.21 15:17 Сейчас в теме
(40) Про подписки, полагаю, так: у любого объекта метаданных есть ClassId и ObjectId, так вот в их порядке оно и выполняется. Для объекта "вообще", например для "ДокументОбъект" идентификатор класса будет "v8:TypeSet.DocumentRef", а для конкретного "ДокументОбъект.АвансовыйОтчет" будет "v8:Type.DocumentRef.АвансовыйОтчет", всё логично. Типизацию можно увидеть, используя функцию XMLТип. Идентификаторы ObjectId можно увидеть, выгрузив конфигурацию в файлы. Если кому интересно, URI "http://v8.1c.ru/8.1/data/core"
44. Sashares 18 15.03.21 17:25 Сейчас в теме
(40)А толку?
Если на порядок подписок не документирован, и на него завязываться нельзя, то какая разница какая вызывается раньше, а какая позже?
45. Xershi 1137 15.03.21 17:45 Сейчас в теме
(44) в целом все верно, но нужно это для того чтобы дать по шее тому кто думал, что так делать можно)
53. rpgshnik 2535 16.03.21 01:21 Сейчас в теме
(5) вопрос не к нему, вопрос к модерации. Каждую статью проверяют. Значит на усмотрение Инфостарт - контент годный. Даже с рекламой :)
8. Поручик 4490 15.03.21 13:07 Сейчас в теме
Кроме новых версий платформы, всё остальное открытие Америки.
cleaner_it; +1 Ответить
10. Yashazz 3753 15.03.21 13:08 Сейчас в теме
(8) А это просто есть такие персонажи, которые даже updinfo не читают, им разжуй и в рот положи. Вот они и плюсят репост новости про "Открыть в Конфигураторе".
58. Rustig 1717 16.03.21 06:50 Сейчас в теме
(10) когда вы работаете, если читаете АпдИнфо, ИТС, Зазеркалье, книги по 1с, Инфостарт, пишите комменты в течение часа?
60. Yashazz 3753 16.03.21 07:30 Сейчас в теме
(58) Грамотно организованное рабочее время - великая вещь. Запустил, например, обработки или регламентные процедуры, имеешь 30 минут времени. На ИТС и обновления очень даже хватает.
11. Yashazz 3753 15.03.21 13:11 Сейчас в теме
(8) А главное, ты обрати внимание - уже 17 плюсов. При таком подходе в центр внимания и топ выходит (а точнее, всплывает) низкокачественное это самое. В итоге та сумбурная каша, которую тут нам выдали за якобы публикацию на профессиональном сайте, наберёт популярность, а её автор со своим пионерским уровнем подачи материала получит рейтинг.

Ко мне один такой приходил на собеседование. Типа он ведёт блог, у его видеокурса 1С подписчиков куча. Я пять минут с ним побеседовал и выгнал взашей, потому что человек даже простейших вещей не знал. Но зато понты)))
Поручик; +1 1 Ответить
9. Yashazz 3753 15.03.21 13:07 Сейчас в теме
А уж куда модераторы смотрят, я вообще не понимаю. Это же совершенно ниже плинтуса.
13. Поручик 4490 15.03.21 13:14 Сейчас в теме
(9) Модератор не будет разбираться в полезности. Главное, чтобы не было откровенного мата, экстремизма и #КрымНаших через слово. Он и так наш, но меру знать надо.
15. Yashazz 3753 15.03.21 13:20 Сейчас в теме
(13) Ага))) Пока Истина Цикл Крым.Принадлежность="Наш" КонецЦикла
33. the1 868 15.03.21 14:24 Сейчас в теме
(15) У Вас в коде ошибочка, коллега) КрымНаш уже давно константа)
Если Дата > '20140326' Тогда КрымНаш = Истина КонецЕсли;
Award; AzagTot; suepifanov; Petr54-ru; user925427; +5 Ответить
38. Yashazz 3753 15.03.21 14:56 Сейчас в теме
(33) Согласен. Признаю. Ваш код лучше.
cleaner_it; +1 1 Ответить
55. rpgshnik 2535 16.03.21 01:28 Сейчас в теме
(33)
Если Дата > '20140326' Тогда КрымНаш = Истина КонецЕсли;


КрымНаш = Дата > '20140326';
zaic; user722950; Bassgood; pavlov_dv; +4 Ответить
21. Yashazz 3753 15.03.21 13:29 Сейчас в теме
(13) Мдя? Помнится, году в 14-м мою публикацию завернули именно с формулировкой "не содержит принципиально нового материала".
cleaner_it; Поручик; +2 1 Ответить
54. rpgshnik 2535 16.03.21 01:27 Сейчас в теме
(13) экстремизма в частности в сторону 1С :)
19. Yashazz 3753 15.03.21 13:28 Сейчас в теме
Чуваки, а вы знаете, что можно значение, которое в форме, запихать во временное хранилище? Офигенная штука, называется "ПоместитьВоВременноеХранилище". Туда можно сохранить, и потом оттуда получить, правда, прикольно?))

...а то вдруг пацаны не знают)
ardn; rpgshnik; axelerleo; Поручик; +4 2 Ответить
35. FatPanzer 13 15.03.21 14:39 Сейчас в теме
(19) Да ладно! Прямо из формы?!?!?! Абалдеть...
56. rpgshnik 2535 16.03.21 01:31 Сейчас в теме
20. a_a_burlakov 111 15.03.21 13:28 Сейчас в теме
У меня относительно подобных статей всегда противоречивые чувства.

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

А с другой стороны, такие статьи вызывают некоторый скепсис из-за того, что приоткрывают знания малый объем знаний, в неорганизованном виде, и вне контекста какой-то более сложной проблематики.

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

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

Поэтому такие статьи считаю необходимым злом, и буду ждать и читать части #2 и #3. :)
e.kogan; Rustig; rpgshnik; builin; +4 Ответить
25. Yashazz 3753 15.03.21 13:32 Сейчас в теме
(20) Да этих нюансов где угодно куча. Например, элементарное сравнение значений, знак равенства, это далеко не столь очевидная вещь, как многим кажется. Или сортировка. Или работа метода "ЗначениеЗаполнено". Устаревает медленно, т.к. глубоко в платформе. Но...

Мои статьи стоят мне множества потраченного времени и сил. И когда потом приходит персонаж, который кидает ссылку на официальные ресурсы 1С, репостит новости и Зазеркалье, и сгребает на этом кучу хайпа и рейтинга, я перестаю понимать, нахрена я старался.
Torin57; axelerleo; FatPanzer; +3 1 Ответить
22. vano-ekt 848 15.03.21 13:30 Сейчас в теме
еще, в копилку, если нажать F5 в конфигураторе, то откроется предприятие в режиме отладки,(!) а там вообще чудеса чудесные, можно построчно выполнять код и переменные смотреть не через запись в текстовый документ!!1 закидывайте меня плюсами!
artkor; Yashazz; +2 Ответить
26. vano-ekt 848 15.03.21 13:33 Сейчас в теме
ps: ждем длинную серию статей после прочтения ТСом "Системы стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8"
28. Yashazz 3753 15.03.21 13:35 Сейчас в теме
А ещё можно знаете что? В руководствах нету, ловите лайфхак: как сделать цикл по убывающим значениям. 1С ведь только Для й=1 По 10 умеет, например, а если надо обратно? А вот как: Для й=-10 По -1, вуаля! Ну и в цикле если надо, инвертируйте этот минус у итератора.

Прикиньте, да?)
parshin; user1309921; Leon29; Vortigaunt; Cmapnep; Поручик; +6 1 Ответить
29. Yashazz 3753 15.03.21 13:38 Сейчас в теме
А, во, ещё лайфхак держите: конструктор "Новый" можно вызывать как функцию, т.е. Новый("Структура") отлично работает! Иногда это ваще единственный вариант сгенерить какой-нить объект, например, служебную платформенную какую-нибудь штуку. Ваще зашибись! И в исполняемом коде "Выполнить" оно стабильнее работает))
Cmapnep; Поручик; +2 1 Ответить
30. a_a_burlakov 111 15.03.21 13:47 Сейчас в теме
(29) Блин, я не знал, серьёзно.

Давайте автор будет клепать дальше свои статьи, а вы в комментариях будете докидывать ещё - книжку выпустим. :)
31. vvf1973 9 15.03.21 13:49 Сейчас в теме
Ой, злобы-то сколько. Сразу понимаешь - Родина. Можно было не комментировать, можно было молча минус поставить, но аборигенам этого недостаточно.
parshin; mpeg1989; G13ma; lavash67; builin; SeiOkami; +6 1 Ответить
32. Yashazz 3753 15.03.21 13:50 Сейчас в теме
И самый крутой лайфхак сезона, который я открыл для себя:
Совсем необязательно писать громоздкую конструкцию вида
Если ЗапостилНаИнфостарт=Истина Тогда
КтоМолодец="Я молодец";
Иначе
КтоМолодец="";
КонецЕсли;

Можно гораздо компактнее, без излишеств:
КтоМолодец=?(ЗапостилНаИнфостарт,"Я молодец","");

Обратите внимание, в этом примере я не пишу сравнение "=Истина", т.к. это необязательно.

Такой приём называется "тернарный оператор".

Правда обалденно? Если вам понравилось, подпишитесь на мои профессиональные советы, и вы узнаете, как сделать бесконечный цикл, что такое кэш формы и почему не всегда можно очищать переменную, присваивая ей пустой литерал ""
Kolobash95; Petr54-ru; e.kogan; Terve!R; DmitryKSL; suepifanov; a_a_burlakov; Поручик; +8 1 Ответить
36. FatPanzer 13 15.03.21 14:42 Сейчас в теме
57. PerlAmutor 124 16.03.21 06:20 Сейчас в теме
(32)
Обратите внимание, в этом примере я не пишу сравнение "=Истина", т.к. это необязательно.


Для тех, кто не любит писать лишнее. Попробуйте до сравнения поставить в переменную "ЗапостилНаИнфостарт" значение "Неопределено".
70. dhurricane 16.03.21 10:18 Сейчас в теме
81. PerlAmutor 124 16.03.21 17:15 Сейчас в теме
(70) Чтобы понять насколько неправы те, кто рассчитывает на неявное привидение типов к Булево.
89. FatPanzer 13 16.03.21 21:51 Сейчас в теме
(81) Зависит от контекста же. Если это привидение Каспер - то это доброе привидение, и на него можно рассчитывать! Он классный!

А если серьезно - то тоже зависит от контекста. Вы предложили поставить "поставить переменную Неопределено", т.е. вы навязали свой контекст. На что вам автор может возразить, что в данном коде ЗапостилНаИнфостарт - это реквизит (формы или объекта) типа "Булево", который не требует никакого "привидения". Вы же не знаете контекста, да? Но пытаетесь учительствовать.

Это вот авторам уровня ТС учительствуйте. Это для них тема неявной типизации будет очередным лайфхаком.
Bassgood; user722950; +2 Ответить
94. PerlAmutor 124 17.03.21 06:07 Сейчас в теме
(89) Если всегда делать проверку на "= Ложь" или " = Истина", то код автоматически становится независимым от контекста и безопасным.

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

(89)
Это вот авторам уровня ТС учительствуйте. Это для них тема неявной типизации будет очередным лайфхаком.

Я лишь указал на не очевидный подводный камень и сомнительный вывод - "Обратите внимание, в этом примере я не пишу сравнение "=Истина", т.к. это необязательно.". Если бы я сам не натыкался на проблемы подобного рода "оптимизации" в своей практике, то не стал бы ничего писать. А так предостерегаю.
95. FatPanzer 13 17.03.21 07:10 Сейчас в теме
(94)
Придет новый программист и поставит на форме вместо "Булево" - тип "Произвольный", либо отключит в настройках СКД использование параметра и ожидаемые типы значений где-то далеко в коде приведут к проблемам у пользователей.

Я вот смотрю на это совсем по другому! Если какой-то программист где-то поменяет какой-то тип - то да, проблемы действительно обнаружатся явно, и их можно будет решить без потери качества работы программы с данными.
Гораздо хуже, когда программа работает совсем без ошибок (не возникает ошибки при проверке на Истина), но часть кода тупо никогда не исполняется и что происходит в таком случае с данными - непонятно, и когда это обнаружится - тоже непонятно.

Я за ошибки. Лучше видеть и ловить симптомы, чтобы понимать, что происходит и что лечить. Чем не догадываться о скрытых болезнях.
PS. Кстати, такого программиста (который просто меняет тип, не проанализировав дальнейшее использование) я бы тоже назвал недальновидным лохом.
PPS. И именно поэтому недальновидные лохи любят везде воткнуть Попытка-Исключение. И это говорит о качестве их понимания работы алгоритмов.
Bassgood; +1 Ответить
113. PerlAmutor 124 20.03.21 17:31 Сейчас в теме
(95)
PPS. И именно поэтому недальновидные лохи любят везде воткнуть Попытка-Исключение. И это говорит о качестве их понимания работы алгоритмов.


Как часто Вы натыкаетесь на код таких людей? Я вот довольно часто. Могу ли я это контролировать? Нет! Могу ли я обезопасить свой код от них? Да!
102. Cyberhawk 127 20.03.21 16:23 Сейчас в теме
(94)
Если всегда делать проверку на "= Ложь" или " = Истина", то код автоматически становится независимым от контекста и безопасным
И перестает удовлетворять концепции "fail fast" (скрывая проблему), из-за чего в большинстве случаев вреда больше, чем пользы.
103. PerlAmutor 124 20.03.21 16:29 Сейчас в теме
(102)
П1 = Неопределено;

Если П1 = Истина Тогда
    Сообщить("П1 = Истина");
ИначеЕсли П1 = Ложь Тогда
    Сообщить("П1 = Ложь");
Иначе
    ВызватьИсключение "fail fast!";
Конец;


Показать


В большинстве мест кода 1С используются только такие конструкции:

Если Флаг Тогда
    СделатьЧтоТо();
КонецЕсли;


Если секция "Иначе" и присутствует, то постольку поскольку. В большинстве ситуаций программист знаковым ставит именно результат "Истина", а все остальные значения им трактуются как "Ложь". И сюрприз будет у пользователя, когда значение не Истина и не Ложь. Т.ч. либо проверять тип переменной каждый раз, либо согласно контекста прописывать все возможные варианты использования, а не полагаться на неявное преобразование к Булево.
104. Cyberhawk 127 20.03.21 16:32 Сейчас в теме
(103)
Иначе
ВызватьИсключение "fail fast!";
Код в эту ветку никогда не попадет. К чему она?
105. PerlAmutor 124 20.03.21 16:40 Сейчас в теме
(104)
Код в эту ветку никогда не попадет. К чему она?

Проверьте:

П1 = Неопределено;

Если П1 = Истина Тогда
    Сообщить("П1 = Истина");
ИначеЕсли П1 = Ложь Тогда
    Сообщить("П1 = Ложь");
Иначе
    ВызватьИсключение "fail fast!";
Конец;

Показать
Cyberhawk; +1 Ответить
106. Cyberhawk 127 20.03.21 16:47 Сейчас в теме
(105) Проверил, действительно работает - был не прав.
Но такой код получается весьма громоздким.
Если в алгоритме не требуется ветка с анализом противоположного значения флага, то в большинстве случаев компактный код
Если Флаг Тогда
    СделатьЧтоТо();
КонецЕсли;
или
Если НЕ Флаг Тогда
    СделатьЧтоТо();
КонецЕсли;
, влекущий ошибку выполнения при значении флага неожидаемого типа (булевого), кажется более предпочтительным.
107. PerlAmutor 124 20.03.21 16:53 Сейчас в теме
(106) В БСП есть 2 процедуры: ОбщегоНазначенияКлиентСервер.Проверить() и ОбщегоНазначенияКлиентСервер.ПроверитьПараметр()

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

К сожалению их мало кто использует, судя по опыту.
108. Cyberhawk 127 20.03.21 16:55 Сейчас в теме
(107)
Можно их использовать для проверки ... Затем уже безопасно работать с неявными приведениями
А можно просто сразу писать компактный код, который не опирается на неявное приведение, а опирается на ожидаемый тип (и вызывает ошибку выполнения, если тип неожидаемый).
Усложнять просто, упрощать - сложно (с)
109. PerlAmutor 124 20.03.21 16:58 Сейчас в теме
(108) Такие проверки необходимо делать, если не хочется потом в выходной день приезжать на работу, чтобы пользователь смог закрыть месяц из-за глупой ошибки, которой могло бы и не быть, если она не критичная и допустимо трактовать "Неопределено" как "Ложь" в конкретно взятом алгоритме.
110. Cyberhawk 127 20.03.21 17:04 Сейчас в теме
(109) А как использоване предложенных выше двух методов БСП позволяет избежать ошибки?
"Проверить", насколько понял, безусловно вызовет исключение, если в условие вида "Если Флаг Тогда" во флаге прилетит значение "Неопределено".
А используя "ПроверитьПараметр" нужно заранее туда (в ожидаемые типы) передать и тип "Неопределено", правильно понял?
111. PerlAmutor 124 20.03.21 17:06 Сейчас в теме
(110) Никак не поможет, это лишь вариант проверки, поэтому я и говорю, что предпочтительней писать так:

Если П1 = Истина Тогда
    СделатьЧтоТо();
КонецЕсли;


Вместо

Если П1 Тогда
    СделатьЧтоТо();
КонецЕсли;


Если по условиям задачи допустимо считать все отличное от "Истина" - Ложью.

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

На втором скрине такие проверки делаются (разные авторы?).
Прикрепленные файлы:
112. Cyberhawk 127 20.03.21 17:25 Сейчас в теме
(111)
предпочтительней писать так ... Если по условиям задачи допустимо считать все отличное от "Истина" - Ложью
Каждый из вариантов использует побочный эффект, полезный в одних ситуациях и вредный в других:
- либо сохраняем устойчивость кода ценою невозможности видеть / отловить ошибку с неожидаемым типом на вызывающей стороне
- либо сохраняем строгость контракта, но получаем "fail fast"
.
Нюанс в том, что склонение к одной или другой чаше весов некорректно достигать путем побочного эффекта от использования неявного приведения типов, поэтому все наши рассуждения выше сводятся по большому счету к вкусовщине. Вряд ли стоит надеяться, что кто-то сознательно вот здесь поставил знак "равно", а здесь специально его ставить не стал именно потому, чтоб оно стало (или наоборот не стало) устойчивее.

Саму же реализацию любого из обозначенных выше подходов стоит делать явным образом (через явную проверку типа значения у флага в первом случае и через контроль и недопущение возможности флагу принимать значение отличного от булевого типа во втором).
Bassgood; +1 Ответить
117. Bassgood 1118 23.03.21 11:03 Сейчас в теме
(105) Вы же не будете писать такие громоздкие конструкции на каждую переменную только потому что какой-то программист может присвоить ей значение несоответствующее ожидаемому типу?
118. PerlAmutor 124 23.03.21 17:27 Сейчас в теме
(117) В большинстве ситуаций хватает просто "Если П1 = Истина Тогда" вместо "Если П1 Тогда". Не вижу ничего громоздкого тут.
101. buganov 169 20.03.21 12:00 Сейчас в теме
(57) это пример для тех, кто не умеет грамотно выстроить архитектуру. Если у Вас в булеву переменную может затесаться неопределено, например, при вызове функции, то Вы или обрабатываете результат неверно, или возвращаете хрень.
34. FatPanzer 13 15.03.21 14:35 Сейчас в теме
Шо, опять лайфхакеры пожаловали к нам в гости???
39. John_d 3240 15.03.21 14:56 Сейчас в теме
Программная доработка форм типовых конфигураций
тут я более подробно об это рассказывал
https://infostart.ru/1c/articles/1152528/
builin; 1v7; +2 Ответить
51. triviumfan 24 15.03.21 22:16 Сейчас в теме
(39) Не интересно. У автора сей статьи все проще и понятней
42. Aftee 15.03.21 17:07 Сейчас в теме
Реклама телеграм-блога?
43. pm74 194 15.03.21 17:09 Сейчас в теме
я вот не знал(забыл) про
Идентификатор = "Счет,ТОРГ12,ТОРГ12";

как раз пригодится
sashocq; e.kogan; denmax; +3 Ответить
46. protexprotex 129 15.03.21 17:47 Сейчас в теме
Сколько текста всех на мааааленькую статью :-) Знать, она удалась! раз всех задела!
48. adhocprog 1197 15.03.21 17:57 Сейчас в теме
61. Yashazz 3753 16.03.21 07:32 Сейчас в теме
(46) Знаете, если в зале музея, пардон, наблевать на пол, тоже будет реакция от многих посетителей. Потому как многих культурных людей заденет. Но значит ли это, что означенное - удалось (ну кроме как глупая провокация)? Имхо - нет.
Вот и тут примерно так же.
FatPanzer; +1 1 Ответить
69. protexprotex 129 16.03.21 08:37 Сейчас в теме
(61) Да ладно. Что Вас так это задело? - ну написал человек статью. Может, это у него первая проба пера, так сказать. У Вас больше опыта - просто посоветуйте ему как лучше статью оформить. Дельные мысли подкиньте ему. По Вашему статусу видно, что Вы опытный программист. Поделитесь своим опытом.
49. protexprotex 129 15.03.21 22:05 Сейчас в теме
50. triviumfan 24 15.03.21 22:15 Сейчас в теме
Странно, что столько много плюсов. Видимо уровень программистов нынче ниже плинтуса, раз они этого не знают или не умеют пользоваться поиском, ведь кем это только не было разжёвано и каким только языком.
e.kogan; FatPanzer; t278; +3 Ответить
52. rpgshnik 2535 16.03.21 01:18 Сейчас в теме
Начало статьи интересное... но потом два крутка скоролла и статья закончилась. Сумбурно и хаотично. Реклама :)
Yashazz; t278; +2 Ответить
59. Rustig 1717 16.03.21 06:59 Сейчас в теме
(0) формат статьи понравился: что-то узнал новое (потому что не сталкивался), и наверняка забуду уже завтра (потому что не сталкиваюсь), что-то знал или думал по иному, что-то зацепило, потому что были пару задач на исследовании (увидел решение)...
на телеграмм-каналы нет времени....споры под статьей утомляют ...
rpgshnik; +1 Ответить
62. Yashazz 3753 16.03.21 07:33 Сейчас в теме
(59) а где ты тут статью увидел? куски каких-то несвежих сведений набросаны...
64. Rustig 1717 16.03.21 07:39 Сейчас в теме
(62) формат публикации понравился... небольшой взброс полезной информации - легко переварить в мире шквальных новостей и изменений
72. Yashazz 3753 16.03.21 13:40 Сейчас в теме
(64) Погоди, чего в ней полезного? Это совершенно общеизвестные очевидные вещи. Плюсовать их может только совсем новичок, да ещё такой, которому лень читать мануалы, на тебя не похоже. Что тут могло быть полезно?
77. Rustig 1717 16.03.21 14:24 Сейчас в теме
(72) к сожалению для автора, я сам автор, и знаю что за 50 плюсов начисляют 3000р, но я не увидел здесь что-то выдающееся, за что можно было бы начислить 3000р. Опять-таки, без обид к автору.
Поэтому я за такого рода публикации плюсы не ставлю.
Но и минус не понимаю, за что ставить.
А что было полезно?
Да , вот вчерась думал, перед сном 30 мин есть, смотреть фильм на 2 часа поздно и некогда, смотреть ютуб с его короткими роликами - ютуб выигрывает по времени - что -то целое и законченное успею увидеть...
Читать что-то сложное - всегда откладываю...Простые статьи читаю быстро - пока процесс идет....

почему-то сейчас короткие статейки выгодно отличаются даже на Инфостарт - наверное это психология самого человека. Съел, понравилось, побежал дальше....
rpgshnik; +1 Ответить
76. rpgshnik 2535 16.03.21 14:24 Сейчас в теме
(59) "утомляют" это магнит для споров?))
63. Yashazz 3753 16.03.21 07:35 Сейчас в теме
Меня во всём этом радует только одно. Пока подобные публикации собирают хайповую популярность, раскручивая посредственные блоги авторов, выдающих примитив за откровение, уровень падает. А это значит, что я всегда найду работу. На фоне подобного уровня. Хотя бы чинить то, что эдакие умельцы наворочали)))
65. Rustig 1717 16.03.21 07:41 Сейчас в теме
(63) работы много, даже не анализируя статьи и публикации на ИС - надо чувствовать рынок....уходите во фриланс, рынок растет, без работы не останетесь
66. Yashazz 3753 16.03.21 07:42 Сейчас в теме
(65) Спасибо за совет, но я как-нибудь сам разберусь)
68. Алексей Воробьев 108 16.03.21 08:25 Сейчас в теме
(63) Ну вот даже и не собирался плюсовать. Хотя формат такой отрывочной, несистематезированной, но не напрягающей из-за своей непродолжительности подачи вполне себе имеет место быть.

Даже если ты это знал, то время потратил немного. А если не знал, то это как-то может зацепится в голове и даже может быть припомнено при необходимости...

Но увидев такую лавину эмоций от столь одиозного персонажа, поставлю-таки плюсик, дабы накинуть радости на вентилятор, поддержать Ваш уровень на фоне посредственности и обеспечить фронт работ на будущее! :-)
71. Yashazz 3753 16.03.21 13:32 Сейчас в теме
(68) Вы лучше мне плюсик поставьте за какую-нибудь публикацию, например вот эту: https://infostart.ru/1c/articles/1276140. Я, в отличие от некоторых, занимаюсь вопросами посложнее, чем репост очевидностей. Ну, где мои 40 с лишним плюсов, а?
87. Алексей Воробьев 108 16.03.21 21:22 Сейчас в теме
(71)Мои плюсы есть далеко не под одной Вашей публикацией. К сожалению, далеко не всё имею возможность просматривать. Но коли уж персонально предложили, то при наличии времени изучу и оценю :-)
67. Rustig 1717 16.03.21 08:09 Сейчас в теме
В новых версиях платформы появились новые команды форм для удобства анализа и разработки.

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


Коллеги, на ИТС почти в каждой публикации есть кнопочка "Оставить отзыв" рядом с кнопочкой "Мне нравится" - я в свое время написал к одной публикации, как неудобно в платформе реализован поиск объектов метаданных. Что никто из разработчиков по заголовку формы не может найти объект метаданных, потому что много причин, и в том числе ИмяОбъектаМетаданных не совпадает с синонимом и не совпадает с заголовком формы....Я написал, что на внедрениях это морока искать по их рекомендациям сначала тут, а потом может быть там....

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

Я к чему? Просто знайте, что вы можете изменить платформу в лучшую удобную для себя сторону - пишите на ИТС отзывы...
Drivingblind; Sla; Terve!R; +3 Ответить
78. Yashazz 3753 16.03.21 15:03 Сейчас в теме
(67) Не обольщайтесь. Разработчики платформы живут в своём мирке, и плевать хотели на наши проблемы. Они даже своих коллег, авторов типовых конфигураций, слушают вполуха и через два раза на третий. Мне в своё время один из авторов БП 3.0 детально рассказал, как там что - так вот, это параллельные миры.
73. Yashazz 3753 16.03.21 13:52 Сейчас в теме
Мда... Это, получается, большинство пользователей ИС считает такое нормальным? Больше сорока плюсов, и всего 8 минусов?
Ну давайте я каждый день буду вываливать какую-нибудь похожую хрень из своей текучки, и назову это тоже "блогом программиста", ага? И всем будет норм, так что ли?
74. rpgshnik 2535 16.03.21 14:22 Сейчас в теме
(73) тогда ты Ивана обгонишь) блин да расслабься, что у тебя так пукан рвёт безбожно))
80. dhurricane 16.03.21 16:46 Сейчас в теме
(73) Думаю, не стоит смотреть в сторону количества минусов. Предположу, что зачастую люди подобные посты просто игнорируют. К потоку статей подобного качества уже как-то привыкаешь. Да и не каждый из нас (я, например) может поставить свой минус ввиду отсутствия рейтинга. А вот плюс - любой пользователь ИС.

Но да, тем не менее количество плюсов впечатляет. :)
83. Rustig 1717 16.03.21 17:24 Сейчас в теме
Оставьте свое сообщение

См. также

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

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

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

27.01.2016    79400    Serginio    113    

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

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

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

06.04.2021    4014    Neti    7    

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

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

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

02.04.2021    5233    SeiOkami    49    

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

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

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

25.03.2021    15951    rayastar    47    

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

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

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

16.03.2021    3093    velemir    31    

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

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

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

28.12.2020    5365    comol    31    

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

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

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

30.08.2020    13212    quazare    34    

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

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

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

08.05.2020    44876    user5300    17    

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

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

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

10.12.2016    39043    unichkin    74    

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

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

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

27.01.2020    45260    ids79    26    

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

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

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

15.01.2020    33451    John_d    22    

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

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

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

30.12.2019    25935    kuzyara    38    

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

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

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

15.10.2018    32869    tormozit    105    

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

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

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

02.12.2019    20017    YPermitin    61    

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

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

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

22.11.2019    10530    Sibars    19    

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

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

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

07.10.2019    34596    HostHost    41    

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

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

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

20.09.2012    79910    tormozit    131    

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

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

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

01.10.2019    43569    Yashazz    50    

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

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

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

24.09.2019    15925    budidich    29    

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

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

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

06.09.2019    75152    rpgshnik    70    

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

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

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

11.07.2007    50912    tormozit    49    

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

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

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

05.09.2019    62552    ids79    55    

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

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

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

05.09.2019    35884    YPermitin    25    

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

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

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

03.09.2019    27763    YPermitin    81    

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

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

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

10.09.2017    47828    tormozit    74    

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

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

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

17.08.2019    38467    ids79    16    

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

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

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

08.08.2019    117998    ids79    69    

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

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

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

02.08.2019    48057    avalakh    26    

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

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

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

25.04.2019    16703    m-rv    3    

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

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

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

31.07.2019    32259    json    15    

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

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

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

26.07.2019    83654    ids79    14    

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

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

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

17.07.2019    41877    ids79    27    

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

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

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

16.04.2019    21327    m-rv    17    

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

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

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

09.07.2019    29718    YPermitin    14    

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

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

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

04.07.2019    20729    SeiOkami    50    

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

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

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

02.07.2019    65577    ids79    17    

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

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

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    33291    m-rv    22    

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

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

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

25.06.2019    64086    ids79    26    

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

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

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

11.06.2019    27969    dmurk    147    

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

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

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

16.05.2019    52852    YPermitin    30    

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

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

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

05.12.2017    29107    itriot11    34    

О расширениях замолвите слово...

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

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    39164    ellavs    127    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

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

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

28.03.2019    29222    ellavs    90    

Трюки с внешними источниками данных

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

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    36104    YPermitin    53    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

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

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    39109    ids79    40    

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

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

В статье собраны наиболее распространенные ошибки при работе с хранилищем конфигурации и способы их обхода и решения.

01.03.2019    53242    Смешной 1С    32    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

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

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    25252    Vladimir Litvinenko    28