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

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

Разработка - Математика и алгоритмы

Данная публикация предназначена для начинающих разработчиков и является продолжением статьи "Обработчики событий при записи объектов. Зачем и что за чем?" (ссылка далее). Содержит пример использования несколько обработчиков событий для решения одной задачи и объясняется почему выбраны именно они.

Ссылка на теоретическую часть тут //obrabotki.nsksoft.ru/public/1098803/  А в данной публикации рассмотрим пример из жизни

Пример выбора несколько обработчиков событий записи объекта для решения одной задачи.

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

Для решения этой задачи потребуется использовать обработчики события модуля формы по двум причинам:

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

&НаКлиенте
Процедура ПередЗаписью(ОтказПараметрыЗаписи)
    Если 
Вопрос("Будем создавать новый документ?"РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да тогда
        
ПараметрыЗаписи.Вставить("Ответ","Да");
    Иначе
        
ПараметрыЗаписи.Вставить("Ответ","Нет");
    КонецЕсли;
КонецПроцедуры

2) А в процедуре  ПриЗаписиНаСервере() модуля формы примем этот параметр и в зависимости от него будем создавать документ или нет. Почему именно эта процедура? Потому что:

  • Это событие выполняется в транзакции (в случае сбоев, чтобы новый документ не остался в базе)  
  • Содержит параметр «ПараметрыЗаписи», в котором уже содержится ответ пользователя создавать или нет, который передался из процедуры ПередЗаписью()
  • Ссылка уже создана и можно создавать новый документ, используя эту ссылку (через параметр обработчика ТекущийОбъект.Ссылка).

Т.е. нам нужна ссылка документа, на которую будет ссылаться новый документ. Ссылка будет получена только после записи, но поскольку нам нужно записывать в транзакции, то нужно использовать процедуры ДО завершения транзакции, но уже имеющие ссылку на записываемый объект.  Смотрим на схему (которая приложена к публикации) и рассматриваем процедуры в рамках транзакции. Видим, что ПередЗаписью() не подходит , так как ещё нет ссылки, а ПослеЗаписи()  не подходит, так как транзакция уже завершена. Остаётся выбор из двух событий: ПриЗаписи() модуля объекта или ПриЗаписиНаСервере() модуля формы.  Поскольку обработчик события ПриЗаписи() модуля объекта не содержит параметр, содержащий ответ пользователя, а  событие ПриЗаписиНаСервере() модуля формы содержит, то ответ очевиден-используем это событие ПриЗаписиНаСервере() модуля формы.

&НаСервере
Процедура ПриЗаписиНаСервере(ОтказТекущийОбъектПараметрыЗаписи)
    Если 
ПараметрыЗаписи.Ответ="Да" Тогда
        
ДокОбъект=Документы.Продажа.СоздатьДокумент();
        
ДокОбъект.Дата=ТекущаяДата();
        
ДокОбъект.ДокументОснованиеТекущийОбъект.Ссылка;
        
//..заполняем табличную часть и реквизиты
        
ДокОбъект.Записать();
    КонецЕсли;
КонецПроцедуры

 

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4395 27.09.12 11:58 Сейчас в теме
Очередной копипаст из мануалов.
mitia.mackarevich; +1 Ответить
2. vlad.frost 187 27.09.12 12:09 Сейчас в теме
(1) А я считаю - полезная публикация, даже если и копипаст. При найме программистов хорошо если каждый третий отвечает на такие вопросы правильно.
izidakg; Kinestetik; pas545; Астиг; jif; frkbvfnjh; user612295_death4321; seregin_79; +8 Ответить
3. AlbinaAAA 832 04.10.12 07:08 Сейчас в теме
(1) обновила статью, учитывая ваше замечание.. но копипаста как такового и не было, разве, что параметры из СП выдернула.
В материале использованы знания, полученные только на курсе и в результате реального опыта.
4. Maldiv 04.10.12 07:58 Сейчас в теме
В свое время тоже помучился с этим, когда пришлось дорабатывать код, где обработка событий происходила и в форме и на сервере. +1
5. Ibrogim 1144 04.10.12 07:58 Сейчас в теме
5) Модуль объекта ПередЗаписью(Отказ)для всех объектов, кроме документов
В этом обработчике можно дозаполнять реквизиты объекта или провести дополнительные проверки. Есть доступ к данным формы.


Ошибка
6. AlbinaAAA 832 04.10.12 11:42 Сейчас в теме
(5) Угу, спасибо за внимательность :) конечно, доступа к данным формы нет, так как модуль объекта..
7. FedorovEvg 150 09.10.12 15:18 Сейчас в теме
Мне кажется, что картинка из приложения к книжке Радченко была бы более уместна чем эта статья. Там последовательно, графически изображено как отрабатывают события, причем на всех уровнях (форма, модуль сервер). Не понимаю, зачем переписывать, это словами и указывать.
Единственно, что для новичков не совсем логично, так это отработка событий ОбработкаПроверкиЗаполнения и ОбработкаПроверкиЗаполненияНаСервере не при записи объекта, а при проведении, НО никто не мешает проявить смекалку и вставить вызов процедуры ПроверитьЗаполнение() в процедуры ПередЗаписью у формы элемента.
8. AlbinaAAA 832 09.10.12 22:22 Сейчас в теме
(7)
Мне кажется, что картинка из приложения к книжке Радченко была бы более уместна чем эта статья. Там последовательно, графически изображено как отрабатывают события, причем на всех уровнях (форма, модуль сервер). Не понимаю, зачем переписывать, это словами и указывать.

Да всё просто на самом деле :) Очень много людей предпочитает обучаться не по сухим схемам, а чтобы им объяснили простым человеческим языком и с примерами что и как. И, на мой взгляд, именно поэтому тысячи людей предпочитают платить тысячИ рублей за курсы проекта spec8.ru, вместо того, чтобы почитать Радченко за несколько сотен (а можно и бесплатно скачать). Потому что там тренеры простым человеческим языком объясняют сложные вещи и показывают "как надо и как не надо" и при этом на очень высоком профессиональном уровне. Так что, немалая категория людей предпочитает именно такой способ обучения, когда на словах.. и чем проще, тем лучше..
orfos; user1029856; user1098673; denismal; jif; fenixnow; seregin_79; LeXXeR; NataLisa; master555; Euroset1; andron77777; ben19791010; user667308_icscloud; dnrocco; Михаська; FilatovRA; n.melnikov; Stayler; SuhoffGV; Shurgent; CaSH_2004; +22 1 Ответить
9. 4ur 11.10.12 10:00 Сейчас в теме
сколько времени у меня на полке стоит та же книжка Радченко, только вот даже половину ее еще не осилил - просто изучать как то времени да и желания не хватает, а вот когда возникает реальная задача, тогда судорожно бросаешься искать источники информации. К сожалению практика достаточно разнообразная и некоторые знания достаточно редко нужны - без применения и забыть можно
10. higs 11.10.12 10:43 Сейчас в теме
А мне тоже понравилась раскладка по событиям. Просто, понятно, доступно. Спасибо!!
11. zipik 11.10.12 11:12 Сейчас в теме
12. zipik 11.10.12 11:12 Сейчас в теме
есть еще подписки на события..еще бы их разобрать
kawaietz; +1 Ответить
15. AlbinaAAA 832 11.10.12 11:39 Сейчас в теме
(12) zipik, тут посмотрите http://infostart.ru/public/154317/

а если в двух словах, подписку на событие удобно использовать:
1) в типовых конфигурациях, чтобы без проблем обновляться. Типовые объекты не трогаем, а свой функционал реализуем через подписку на событие, перехватывая нужное событие и перенаправляя в свой общий модуль через параметр "Обработчик" подписки (типовые общие модули лучше не трогать, опять-таки из-за обновления) где и пишем свой код.
2) если нужно перехватить определенное событие для множества объектов. Например, для многих документов во время проведения нужно прописать выполнение одинакового действия. И чтобы не прописывать одно и то же в каждом документе и используется подписка на событие.
Подробнее сейчас написать нет времени, возможно, позже..
27. CaSH_2004 356 14.11.12 00:07 Сейчас в теме
(12)Меня тоже интересовал этот вопрос, в кратце ответ сводится к тому что перехватываются события модуля объекта, но только ПОСЛЕ их выполнения:
- ПриУстановкеНовогоНомера / ПриУстановкеНовогоКода
- ПриКопировании
- ОбработкаЗаполнения
- ПередЗаписью
- ПриЗаписи
- ПередУдалением
- ОбработкаПроведения (только документы)
- ОбработкаУдаленияПроведения (только документы)
- ОбработкаПроверкиЗаполнения (только документы)

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

Указаны только для Справочников и Документов, но есть еще и множество других объектов (всякие планы и регистры)

Кстати не указана очередность обработкичков при проведении документа, что очень важно! Например она така:
- МодульОбъекта.ПриЗаписи()
- МодульОбъекта.ОбработкаПроведения()
- МодульФормы.ПриЗаписиНаСервере()

И вот возникает интересная дилема, предположим что при проведении 1-го документа, проверяется корректность созданного на его основании 2-го документа, а его мы заполняем только исходя из данных в управляемой форме в обработчике ПриЗаписиНаСервере().
И вот что же делать если проверка выполняется ДО корректировки, а нужно ПОСЛЕ? Если бы в управляемом режиме был доступен параметр объекта ДополнительныеСвойства, то в него можно было бы внести нужные данные (я так раньше и делал) и в обработчике ПриЗаписи() все выполнить, до проверки в ОбработкаПроведения().
На первый взгляд кажется что связь механизма записи в объекте в управляемом режиме абсолютно оторвана от заполнения формы, что очень плохо! Было бы неплохо чтобы ДополнительныеСвойства были взаимосвязаны с ПараметрыЗаписи, а то все они работают в пределах своей области.
Однако в статье не описан интересный хитрый момент, хотя до него можно догадаться но лучше указать: в обработчике ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) как видим есть ТекущийОбъект и есть ПараметрыЗаписи. А в ТекущийОбъект присутствует ДополнительныеСвойства, а значит их можно связать вручную, например так:
   &НаСервере
   Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Для Каждого Элемент Из ПараметрыЗаписи Цикл
    ТекущийОбъект.ДополнительныеСвойства.Вставить(Элемент.Ключ, Элемент.Значение);
  КонецЦикла;
КонецПроцедуры

После чего в объекте можно получить то что нам нужно и обработать это
user1021675; Spacer; kawaietz; +3 Ответить
28. AlbinaAAA 832 14.11.12 14:08 Сейчас в теме
(27) CaSH_2004, про очередность обработчиков при проведении документов, упустила, согласна :)
Что касается примера, то, как любила повторять моя учительница математики (царство ей небесное) "Понять задачу - это значит на 50% её решить" и вот тут я понимаю, что не совсем понимаю условие задачи :(

Итак, Вы пишите:

предположим что при проведении 1-го документа, проверяется корректность созданного на его основании 2-го документа, а его мы заполняем только исходя из данных в управляемой форме в обработчике ПриЗаписиНаСервере().

Да, второй документ создаётся ПОСЛЕ проведения первого,и, соответсвенно, проверка ПЕРВОГО документа уже прошла. Так как очередность обработчиков при проведении документа такая:
- МодульОбъекта.ПриЗаписи()
- МодульОбъекта.ОбработкаПроведения()
- МодульФормы.ПриЗаписиНаСервере()

а ВТОРОЙ документ мы создаем в модуле формы в процедуре ПриЗаписиНаСервере(), так как ссылка ПЕРВОГО док-та уже создана и мы можем создать на его основании ВТОРОЙ документ, используя данные управляемой формы. Хорошо. И проверить второй документ никто нам не мешает прописав в коде ПроверкаЗаполнения() вот так:

//на основании документа "Закупка", создаем документ "Продажа".
//при этом покупатель для документа продажа будет взят из реквизита управляемой формы
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ДокОбъект=Документы.Продажа.СоздатьДокумент();
ДокОбъект.Дата=ТекущаяДата();
ДокОбъект.ДокументОснование= ТекущийОбъект.Ссылка;
ДокОбъект.Покупатель=Покупатель; //присваиваем реквизит управляемой формы
Если ДокОбъект.ПроверитьЗаполнение() Тогда
ДокОбъект.Записать();
Иначе
Отказ=Истина;
КонецЕсли;
КонецПроцедуры

И получаем при записи первого проверяем корректность заполнения второго.

Читаю далее Ваше условие задачи:
И вот что же делать если проверка выполняется ДО корректировки, а нужно ПОСЛЕ?

Вот тут непонятно. Корректировки ЧЕГО и в какой момент? Проверка ЧЕГО ? Потому рассуждения далее мне непонятны, но интересны.
29. CaSH_2004 356 14.11.12 15:40 Сейчас в теме
(28) Ну как бы проводить 1-й документ по всем обработчикам - лишняя трата ресурсов при условии что потом все это отменится только из-за того что не удалось создать документ, например у меня Маршрут где 30 накладных которые нужно развести по клиента, и вот Маршрутный лист делает движения, и потом мы проверяем и перезаписываем все 29 накладных, а на 30-й вылетает ошибка и нужно все отменить.
Поэтому для меня важно все проверки и записи на основании сделать ДО, а не ПОСЛЕ проведения основного документа - Маршрута.
Проверяется соответствие накладных данным в Маршруте.

А так все верно вроде, наверно я что-то не разглядел, поздно уже было...
30. AlbinaAAA 832 23.11.12 07:43 Сейчас в теме
(29) CaSH_2004, теперь понятно :) ваша задача относится к категории оптимизации. Обработчик "ПриЗаписиНаСервере" в своем примере я использовала потому, что нужен был ПараметрЗаписи, в котором находился ответ пользователя на вопрос "создавать второй документ или нет?". А если решать вашу задачу, то этот ПараметрЗаписи нам и не нужен и потому ничто не мешает воспользоваться процедурой "ПриЗаписи", которая запускатся ДО процедуры "ОбработкаПроведения", но ссылка записываемого док-та уже есть, и потому можно создать документы на её основании и проверить их. Причем, можно сначала их записать все без проведения, проверить корректность, сохранить в коллекцию значений, а потом, если все док-ты прошли успешно проверку, перебрать коллекцию и провести созданные на основании первого документы. И всё это в процедуре "ПриЗаписи".
13. zipik 11.10.12 11:13 Сейчас в теме
зачем они и как их применять
14. zipik 11.10.12 11:13 Сейчас в теме
ведь уже есть вышеперечисленные обработчики
16. sonuchin3 11.10.12 19:37 Сейчас в теме
6) Модуль объекта ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
...Или ПриУстановкеНовогоКода(СтандартнаяОбработка,Префикс)
... Эти событии вызываются для объектов у которых указано свойство «Автонумерация» и только для новых объектов.


- Новый объект или нет - не имеет значения. А зависит от того, пустой ли номер (код).
Т.е. если у нового объекта вручную задать код, то событие ПриУстановкеНовогоКода() не будет вызвано, а если у записанного объекта вручную очистить код, то событие ПриУстановкеНовогоКода() будет вызвано.
20. AlbinaAAA 832 12.10.12 06:19 Сейчас в теме
(16) sonuchin3, очень ценное замечание! Спасибо!
17. klel 11.10.12 20:26 Сейчас в теме
Большое спасибо аз полезную информацию, полезна новичкам =)
18. and_r 12.10.12 05:45 Сейчас в теме
Идея статьи очень хорошая, но тема, я считаю не раскрыта. Может какие-то примеры надо было привести, а так, соглашусь, что очень напоминает фрагмент из книг входящих в комплект поставки
19. AlbinaAAA 832 12.10.12 06:08 Сейчас в теме
(18) and_r, показательный пример, хорошо раскрывающий тему, в статье есть..может Вы невнимательно читали.. а громоздить статью простейшими примерами на каждый обработчик намеренно не стала, думаю, что статья от этого не стала бы более информативной, а уровень читабельности статьи бы снизился.. а то, что очень напоминает фрагмент из книг, это исключительно субьективное восприятие выбранной темы :)
21. Moll 14.10.12 18:34 Сейчас в теме
Благодарим автора за достаточно полезную информацию, которая несомненно полезна новичкам =]
конечно же всю эту информацию можно найти и в сп и книжках и хоть угодно где, но опубликованная информация в одном месте, достаточно структурирована - вещь полезная

удачи на конкурсе ;)
22. AlbinaAAA 832 14.10.12 19:26 Сейчас в теме
23. SergeMalikov 553 15.10.12 10:54 Сейчас в теме
Альбина! И я вас поздравляю с победой в конкурсе. Надеюсь увидеть вас на продвинутом курсе.
24. AlbinaAAA 832 15.10.12 12:12 Сейчас в теме
Спасибо, Сергей! :) я сейчас на конвертации, продвинутый после :)
25. psamt1k 15.10.12 13:24 Сейчас в теме
26. Moll 21.10.12 19:29 Сейчас в теме
ну вот :]
очередной раз пригодилась ваша статья, своеобразная такая шпаргалочка получилась, ещё раз благодаримс ;]

ну и конечно же присоединяюсь к поздравлениям...
удачи в следующих конкурсах
31. elvis1917 06.03.13 12:29 Сейчас в теме
Вопрос по примеру выбора обработчиков событий записи объекта:
А если документ будет создавать и записываться программно - разве в ПараметрахЗаписи будет параметр Ответ? Не выдаст ли система ошибку?
33. AlbinaAAA 832 08.04.13 07:01 Сейчас в теме
(31) elvis1917, когда объект записывается программно обработчики модуля формы не вызываются, а вызываются только обработчики модуля объекта. Потому ошибки не будет, так как процедура ПриЗаписиНаСервере, которая содержит параметр ПараметрыЗаписи - это обработчик модуля формы, потому при программной записи он просто не будет вызываться.
32. AlexO 128 06.03.13 12:43 Сейчас в теме
Ну как всегда - за картинку, которая у меня уже года четыре, как нарисована, накидали сотни баллов :)
И куча восторженных отзывов.
34. ivdic 30 09.10.13 11:12 Сейчас в теме
хотелось бы все это графически в виде блок схемы отобразить
35. rimma_n 166 09.10.13 15:06 Сейчас в теме
Полезная шпаргалка получилась, спасибо!
36. LexSeIch 206 10.10.13 04:50 Сейчас в теме
Мир этому дому.
Полезная статья. Больше бы такой информации. Я имею в виду небольших заметок на конкретную тему. Читая их - что то обновляешь в памяти, что-то узнаешь новое... Да и из комментов порой узнаешь много интересного.
37. Alex1Cnic 125 10.10.13 10:25 Сейчас в теме
добавлю в свою базу знаний
38. KliMich 12.10.13 01:52 Сейчас в теме
Не мешало бы нарисовать блок-схему, в которой показана последовательность вызова событий.
И осветить, что такое подписка на события (как они туда вклиниваются и с чем ее едят)
39. Поручик 4395 12.10.13 03:31 Сейчас в теме
(38) Скачай книгу Разработка управляемого интерфейса Хрусталёвой, там всё описано и нарисовано.
40. vlad.frost 187 15.10.13 16:14 Сейчас в теме
(0) Крутая публикация. Хотел плюс поставить, а я его оказывается уже ставил в прошлом году :)
41. Bukaska 133 15.10.13 16:23 Сейчас в теме
Я примерно понимаю, зачем эти все обработчики.
Можно построить свою подсистему, где будут пиленые документы как надо клиенту.
И в итоге мы только перенаправляем из стандартных подсистем обработчики на свои перепиленные объекты, в результате чего пациент не на "Игле", в отличие от той ситуации, когда мы пилим в ней все что есть.
Хотя ниче не спорю, перепилить конфу проще, чем сделать собственную подсистему с своими наработками)))
42. hame1e00n 516 23.10.13 12:12 Сейчас в теме
Спасибо, очень нужная информация, пригодилось :-)
43. melenaspb 208 24.10.13 11:05 Сейчас в теме
Еще бы понять какие данные в каком обработчике использовать : Объект, ТекущийОбъект, ТекущийОбъект.Ссылка и т.п.
44. Ndochp 102 18.11.13 13:33 Сейчас в теме
(0) Столкнулся с проблемой, не пойму к какому событию подключаться.
Есть некий документ, при его проведении должен сформироваться и возможно провестись новый документ. (на основании регламентированного сделать документ разнесение по упр учету, но данных для разнесения хватает не всегда)
Проблема в том, что если в "ПриЗаписи" это все делать, то при ошибке проведения подчиненного документа падает исходная транзакция, а должен просто записываться непроведенный документ разнесения.
45. AlbinaAAA 832 22.11.13 14:41 Сейчас в теме
(44) Ndochp, я бы тоже использовала обработчик модуля объекта "ПриЗаписи", но новый документ бы просто записывала, без проведения, а потом там же("ПриЗаписи") через попытку попробовала бы провеси этот новый документ. В таком случае транзакция не слетит.
46. kinazarov 16.07.14 13:32 Сейчас в теме
Спасибо за статью.
Было бы очень полезно добавить в эту статью дополнение о подписках на события и их месте в этой последовательности вызова обработчиков.
Часто бывает так, что использовать подписку на событие эффективнее, потому что не затрагивает модули, находящиеся на поддержке и очередное обновление конфигурации проходит с куда меньшими затратами труда и времени.
kawaietz; swimdog; solary; jobkostya1c8; +4 Ответить
48. jobkostya1c8 23.08.14 08:15 Сейчас в теме
(46) kinazarov, верно замечено. Приходится опытным путем устанавливать что все подписки на события выполняются после стандартных обработчиков Объекта (не формы) и и выполняются тоже только на сервере.
47. jobkostya1c8 23.08.14 08:13 Сейчас в теме
Хорошая статья. В свое время взял за основу разработки. Сейчас вот написал статью про практическое применение, рассмотрев практический пример передачи параметров вглубь цепочки обработчиков.
49. gesk 31.10.15 17:20 Сейчас в теме
Спасибо! У меня не было книжки Радченко под рукой
50. pvlunegov 156 19.01.16 14:46 Сейчас в теме
ПослеЗаписиНаСервере - выполняется после завершения Транзакции записи или проведения документа!
Я нашел то, что искал!
Огромное спасибо!
Мне как раз нужно было событие, которое начинается после события ОбработкаПроведения.
В модуле объекта, модуле менеджера - таких событий нет!
Зато есть в модуле формы документа!

Вопрос: Видимо ранее, в других версиях платформы, такого события не было? Или я не прав?
Много программировал на 8.1 такого события не помню
Видимо добавили в управляемых формах?
53. ineshyk 25.11.16 19:21 Сейчас в теме
(50)только учтите, что ПослеЗаписиНаСервере не всегда выполняется.
51. pvlunegov 156 19.01.16 15:59 Сейчас в теме
Еще раз спасибо за ответ на мучивший меня несколько часов ответ.
Думал что нет такого события - После проведения.
Оказывается, УЖЕ есть.
Раньше точно не было.

И это хорошо. 1с идет на встречу многочисленным просьбам программистов и вносит ДОПОЛНЕНИЯ в свою объектную модель.

Почему бы не добавить событие в МОДУЛЬ ОБЪЕКТА - ПОСЛЕПРОВЕДЕНИЯ?
Возможно я чего-то не знаю, но мне кажется обоснованным такое предложение.
Видимо подводные камни реализации объектной модели в платформе 1с не дают изменять оную.
Поэтому 1с поступила иначе - добавили событие в МОДУЛЬ ФОРМЫ ПослеПроведенияНаСервере.

Ну хотя бы так. Уже легче жить.

А как-же быть с проведением документа из формы списка? Ведь при этом не открывается форма, вызывается объектная модель документа.
В ней нет события МОДУЛЯ ФОРМЫ ПослеПроведенияНаСервере.

Косякс! 1с не отвечает на таковые вопросы или умалчивает.
А вопрос то животрепещущий! В реальной жизни программиста ооочень актуальный!

Вот я например, сделал обработку события МОДУЛЯ ФОРМЫ ПослеПроведенияНаСервере.
После проведения документа теперь проводятся (с ошибками) пачка других документов.
Приходит пользователь и говорит - при проведении из формы списка ваш алгоритм не работает!

Я его посылаю на 1с (на 2 буквы), почти что на 3 буквы (1 не хватает).
52. Nicholas 747 21.01.16 18:50 Сейчас в теме
В обработчике ПриЗаписиНаСервере() можно использовать как Объект, так и ТекущийОбъект. В чем разница?
54. ineshyk 25.11.16 19:23 Сейчас в теме
(52)Разница в том, что в поле Объект нельзя переопределять значения, т.к. в базу запишется уже текущий объект.

55. AlexxSys 223 27.01.17 13:56 Сейчас в теме
Не понятен причина, зачем было удалять из объекта и подписки ПослеЗаписи - его заменить ничем нельзя.
При записи -
1. во первых до обработки проведения, т.е. движений нет, мало этого если этот документ существует в базе старые движения, т.е. если наш генерируемый документ опирается на движения - получишь или пустые движения или старые/неактуальные.
2. И во вторых - данные объекта / ссылки видны только в транзакции, т.е. если у нас создается фоновое задание, то там будет битая ссылка без данных (допустим отправка объекта на сайт, в общем потоке - не стоит тормозить его, обычно делается другим потоком, так вот там данных не будет, все реквизиты пустые будут)

Т.е. событие полностью мертвое, его используют все как замену ПослеЗаписи, но оно его не заменяет. Использование его я даже теоритически не вижу для чего (тем более вместо него можно воспользоваться ОбработкаПровдение). Как всегда разработчики 1С всех ввели в заблуждение, как следствие куча косяков у всех, пока до этого допетришь.
i1381215@trbvm.com; +1 Ответить
56. AntonSKT 22.11.17 12:10 Сейчас в теме
Очень понравился материал, как раз для тех кто еще начитает изучать
AlbinaAAA; +1 Ответить
57. UserPro 4 13.09.18 21:41 Сейчас в теме
Это все замечательно. Но описание событий для регистров раскрыто слабовато.
59. Vlan 33 18.04.19 12:53 Сейчас в теме
"Прогаммисту, имеющеМУ..."
Уж простите за педантичность. :-)
AlbinaAAA; +1 Ответить
60. mikl79 109 18.04.19 13:08 Сейчас в теме
на картинке не увидел стрелку "Запись движений документа", есть только "Запись не записанных..."
61. rozer 267 18.04.19 16:30 Сейчас в теме
Думаю имеет смысл дополнить описание про "ТекущийОбъект". А то очень не информативно описано, ну например кто-то может не знать что в

ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)


назначение "ТекущийОбъект" прямо противоположное чем в


ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)


и менять его бесполезно уже и надо использовать "Объект" если что ну и т.п.

В книге "Разработка управляемого интерфейса" кажется подробно все про это...
62. PLAstic 252 18.04.19 19:06 Сейчас в теме
65. Plotks2017 238 18.04.19 21:29 Сейчас в теме
(62) дату статьи посмотри, спорный вопрос кто дубль =)
63. stein13 18.04.19 21:22 Сейчас в теме
копипаст/некопипаст.... какая разница! Иногда вспомнить не помешает.
64. Plotks2017 238 18.04.19 21:28 Сейчас в теме
Статья понравилась. Написана хорошо. Легко читается.
Непонятно почему столько рейтинга набрала. Сложные статьи с редкими материалами набирают 10 от силы, а тут 400+ за самый базовый материал, что обязан знать каждый. Не в укор автору, просто мысли вслух, неужели средний уровень настолько низкий.
Оставьте свое сообщение

См. также

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

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

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

10.11.2018    30488    0    ids79    40    

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

Математика и алгоритмы Учет ТМЦ v8 1cv8.cf Оптовая торговля, дистрибуция, логистика Россия УУ Бесплатно (free)

Особенности учета партионной системы при наличии двух количественных показателей.

26.03.2020    2309    0    lastcontra    4    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

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

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

18.02.2020    3684    0    randomus    18    

[После]Новогодние задачи

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

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

30.12.2019    2565    0    Alxby    23    

Как работает серверный вызов в 1С Промо

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

Клиент-серверная архитектура заложена в платформе изначально — со времен «1С:Предприятие 8.0». Однако при разработке на 8.0 и 8.1 о разделении кода на клиентскую и серверную часть можно было не заботиться, поскольку на клиенте (на толстом клиенте) был доступен тот же функционал, что и на сервере. Всё изменилось с выходом платформы «1С:Предприятие 8.2», когда появился тонкий клиент. Теперь на клиенте доступен один функционал, на сервере — другой. Клиент и сервер «общаются» между собой с помощью серверного вызова. Конечно, это усложнило процесс разработки, но с другой стороны – можно создавать более оптимальные (быстрые) решения, поскольку все сложные задачи выполняются на сервере.

18.11.2017    51886    0    pahich    82    

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

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

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

05.09.2019    21446    0    YPermitin    24    

"Хочу универсально!" [Часть 1]

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

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

02.09.2019    8773    0    SeiOkami    35    

Иерархия без "В ИЕРАРХИИ"

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

Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи "Уровни, глубина, прародители, циклы и аналоги запросом" [https://infostart.ru/public/160707/].

22.08.2019    10519    0    ildarovich    19    

Будни автоматизации или "мне нужна программка для 3D упаковки" Промо

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

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

24.03.2014    43796    0    ildarovich    116    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

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

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    11855    0    ids79    7    

Обработчики событий при записи объектов. Зачем и что за чем?

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

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    35227    4    AlbinaAAA    25    

Как проводятся документы в типовых конфигурациях от 1С

Математика и алгоритмы Практика программирования Разработка v8::ОУ ERP2 УТ11 Россия УУ Бесплатно (free)

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

24.07.2019    24450    0    skv_79    35    

Приемы обработки больших данных в 1С Промо

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

Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С

07.08.2015    64370    0    tormozit    27    

FizzBuzz на 1С. Чем короче, тем веселее. Варианты принимаются...

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

Мне было скучно, я не мог себя заставить написать ничего полезного. И читал статью на Хабре. Потом я читал комментарии, а потом... нет я не ушел смотреть котиков на ютюбе. Я решил сделать несколько решений задачки FizzBuzz на 1С, с целью "чем короче, тем лучше". Прошу сильно не пинать, это просто развлечение для вечера.

24.07.2019    4881    0    vandalsvq    16    

Управление качеством кода

Математика и алгоритмы Рефакторинг и качество кода v8 Бесплатно (free)

О SonarQube, АПК, EDT. Какие преимущества дает их использование. Для каких команд подходит.

22.07.2019    14560    0    Stepa86    33    

Что делает "В ИЕРАРХИИ" в запросе?

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

Описание действий платформы 1С при использовании конструкции "В ИЕРАРХИИ" в запросах.

16.07.2019    20036    0    YPermitin    34    

XDTO - это просто Промо

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

С появлением платформы 8.1 фирма “1С” представила механизм, носящий интригующее название XML Data Transfer Objects или, если коротко - XDTO. По традиции, документирование механизма составлял тот, кто хорошо разбирался в вопросе, а стало быть опустил “и так понятные” с его точки зрения моменты. Целью данной статьи (или цикла статей, как получится) стало желание поделиться накопленным опытом. Мне кажется, многие неочевидные вещи в механизме XDTO необходимо осветить получше.

24.12.2012    281660    0    Evil Beaver    173    

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

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

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

25.06.2019    42031    0    ids79    17    

Реализуем Стек, Очередь и Приоритетную очередь в 1С

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

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

24.06.2019    12767    0    RonX01    65    

Организация хранения промежуточных данных

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

Организация хранения промежуточных данных в процедуре сверки.

29.05.2019    3691    0    scientes    1    

Самоучитель языка запросов 1С. Промо

Практика программирования Решение задач на 1С:Специалист Математика и алгоритмы v8 v8::Запросы Бесплатно (free)

Сервис для изучения запросов 1С: "Консоль изучения запросов 1С:Предприятие 8". Теперь и с конструктором запросов!

07.05.2013    107212    0    bpc222    327    

Вычисление 200 тысяч знаков числа pi

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

В статье рассматриваются возможности платформы выполнять сверхточные вычисления без использования сложных алгоритмов и внешних компонент на примере вычисления числа pi.

28.05.2019    6749    0    Oleg_nsk    96    

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

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

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

20.05.2019    22362    0    YPermitin    7    

Даем названия переменным: как префиксы экономят наше время

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

Понятные названия переменных экономят время и силы разработчика : в начале, когда мы даём названия переменным, в процессе развития разработки, когда мы "на лету" понимаем назначение той или иной переменной, в конце, когда мы передаём разработку на поддержку других программистов, сами переходя к новым разработкам

06.05.2019    5920    0    Designer1C    81    

Решение транспортной задачи запросом Промо

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

Списание по двум последовательностям партий запросом (без программной обработки)

1 стартмани

30.04.2014    34188    10    bforce    22    

Заметки по SQL: Срез последних - аналог запроса

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

В статье описывается создание среза последних данных средствами классического языка запросов. Причем метод построения запроса был разработан еще во времена, когда автор работал с СУБД Oracle 9i и программировал на PL SQL. Основная идея заключается преобразовании запроса с подзапросом, в запрос без подзапроса (в примерах описывается преобразование до двух вложенных подзапросов). Запросы тестировались на реальных базах данных. Платформа - 1С:Предприятие 8.3 (8.3.10.2561).

15.01.2019    9968    0    IVC_goal    7    

Многопоточное восстановление последовательностей

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

Универсальный алгоритм многопоточного фонового восстановления любой последовательности.

05.12.2018    11727    0    _ASZ_    33    

Парсер запросов 1С. Часть 1: Введение, разбор математических выражений Промо

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

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

1 стартмани

04.12.2013    29882    5    juntatalor    49    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

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

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

23.08.2018    34731    0    Rain88    46    

Теорема номер тринадцать

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

Использование математических методов для языка запросов.

15.03.2018    11566    0    vasilev2015    24    

"Взлом" теста "1С:Профессионал" методом машинного обучения

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

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

12.03.2018    18174    0    ildarovich    19    

Сервис для изучения методов платформы 1С:Предприятие 8. Бесплатно! Промо

Практика программирования Решение задач на 1С:Специалист Математика и алгоритмы v8 Бесплатно (free)

Бесплатный ON-Line сервис изучения методов платформы 1С:Предприятие 8. Подготовка к аттестации 1С:Специалист on-line! Тестовые задания по различным видам учета! Подсказки для оптимального решения!

27.06.2013    48756    0    bpc222    51    

Введение в CI для 1С

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

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

21.11.2017    22511    0    real_MaxA    22    

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

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

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

12.10.2017    17083    0    for_sale    58    

Пишем игру Минер. Обработка событий ActiveX в 1С

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

Пример демонстрирует обработку событий генерируемых компонентой ActiveX в 1С.

29.05.2017    14255    0    user621724_Dimav1979    12    

v8: Концепция минимального изменения конфигурации для легкого обновления Промо

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

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

28.01.2013    37179    0    MarSeN    57    

Как я доступ на kb.1c.ru получал

Решение задач на 1С:Специалист Математика и алгоритмы v8 Россия Бесплатно (free)

kb.1c - база знаний по технологическим вопросам крупных внедрений и не только. В этой базе знаний собираются методики и решения технологических проблем эксплуатации 1с, check-list'ы и инструкции по настройке ПО на серверах. Какие-то из размещенных статей дублируются на ИТС. Когда я искал пути получения доступа к нему я столкнулся с проблемой: мало кто доподлинно знает как получить доступ к нему, не работая у франчайзи 1с. Я опишу путь, который прошёл я, как физическое лицо.

01.05.2017    25155    0    ikekoval    34    

Улучшение стандарта "Структура модуля"

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

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

26.03.2017    13838    0    o.nikolaev    23    

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

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

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

16.12.2016    32150    0    alexandersh    48    

Альтернативные способы работы с XML. Часть 2: Введение в xPath или запросы к XML Промо

Обмен через XML Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

В предыдущей статье "Введение в DOM или объектная модель документа" было описано понятие объектной модели документа (DOM), раскрыты плюсы и минусы использования модели при разборе файлов XML, приведено сравнение с построчным последовательным разбором. Были представлены варианты выборки данных с помощью объекта 1С ДокументDOM. Теперь настало время познакомить читателей с самым, на мой взгляд, интересным способом извлечения данных из XML - при помощи языка запросов xPath.

09.08.2012    41173    0    1cspecialist    13    

Планы обмена. Квитировать или гарантировать?

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

Планы обмена предлагают использовать две стратегии удаления обработанных изменений: квитирование и гарантированная доставка сообщений. Как сделать правильный выбор?

12.12.2016    16365    0    zhichkin    9    

Некоторые принципы оптимизации запросов 1С (+SQL)

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

Разработка нового функционала часто связана с созданием новых таблиц в базе и написанием запросов. Собственно, размышляя о запросах, мы и формируем в голове содержание таблиц, индексы и количество таблиц и индексов. Заранее можно уверенно рассуждать о том, какая нужна архитектура, если задачу удалось понять. На этом этапе важно привлекать свой опыт. Что же делать, если его нет? Как рассуждать о запросах и формате хранения?

17.11.2016    10230    0    ture    40    

Использование git для доработки типовых конфигураций 1С

Математика и алгоритмы v8 Беларусь Украина Россия Бесплатно (free)

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

11.10.2016    202280    0    pumbaE    31    

От Hello world - к защите конфигураций за 1 минуту Промо

Защита и шифрование Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

Вы всегда хотели но боялись создать COM объект? Тогда мы идем к вам! С обычным блокнотом, где будем программировать на c#, и таймером ...

19.05.2012    33925    0    O-Planet    130    

Оптимизация запросов 1С:Предприятие – от теории к практике

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

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

07.10.2016    36455    0    bpc222    20    

Регистры сведений 1С. Как это устроено.

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

Основная идея публикации - собрать в одном месте информацию о внутреннем устройстве такой абстрактной сущности, как "Регистр сведений 1С" и ответить на ряд вопросов: Что происходит при записи регистра в различных режимах? Что такое на самом деле "СрезПервых" и "СрезПоследних"? Как оптимально выбрать структуру регистра? Это та информация, владея которой, начинаешь лучше понимать как это работает и как правильно использовать регистры сведений.

05.08.2016    175590    0    Sergey.Noskov    156    

Переводим расширения на 8.3.8. Памятка.

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

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

29.07.2016    45722    0    mrXoxot    12    

Новые функции СКД 8.2.14 Промо

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

Демонстрация новых функций СКД 8.2.14

29.06.2011    212566    0    fishca    51    

Подобие Объектно-ориентированного программирования в 1С (ПООПс)

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

Статья для тех кто знаком с ООП и опустил руки.

24.07.2016    11985    0    adam26    54    

Опыт практического применения методики BDD на 1С. Написание сценариев

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

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

03.07.2016    22455    0    oleynik.dv    132    

Заметки про запросы. Последовательность.

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

Рассуждения, основанные на контрпримерах. Определяем последовательность операций с помощью одной только консоли запросов. Версия 2.

27.05.2016    33615    0    vasilev2015    31    

Оптимизация планирования доставки грузов. Алгоритм кластеризации k-means (метод K-средних).

Математика и алгоритмы v8 УТ10 УПП1 Бесплатно (free)

Что такое кластеризация? Это объединение объектов в непересекающиеся группы, называемые кластерами, на основе близости значений их атрибутов (признаков). В результате в каждом кластере будут находиться объекты, похожие по своим свойствам друг на друга и отличающиеся от тех, которые расположены в других кластерах. При этом, чем больше подобие объектов внутри кластера и чем сильнее их непохожесть на объекты в других кластерах, тем лучше кластеризация.

10 стартмани

09.02.2016    29793    0    mi1man    4