Механизм блокирования "некорректных" (запрещенных) проводок

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

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

Механизм позволяет настроить правила, по которым будут блокироваться указанные НЕКОРРЕКТНЫЕ (запрещенные) корреспонденции...

Полезно при вводе информации для "выпрямления рук" у некоторых бухгалтеров после перехода с других бухгалтерских программ :)

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

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

20.11.2009 добавил текст основной процедуры - там заменен запрос на более оптимальный (за что спасибо Игорю Исхакову за его комментарии под ником Ish_2)

Скачать файлы

Наименование Файл Версия Размер
Процедура ЕстьНеКорректныеКорреспонденции()

.txt 8,33Kb
28
.txt 8,33Kb 28 Скачать бесплатно
Текст модуля

.txt 10,30Kb
29
.txt 10,30Kb 29 Скачать бесплатно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. German 874 14.11.09 23:47 Сейчас в теме
Отличая от "подситемы УПП" ;) только в периодичности и галочке использовать... Так что похоже на плагиат...
3. KukA.5 474 15.11.09 00:49 Сейчас в теме
(1) в УПП НЕТ ВОЗМОЖНОСТИ БЛОКИРОВАТЬ НЕКОРРЕКТНЫЕ КОРРЕСПОНДЕНЦИИ. Разработка заключается (это для тупых :)) В НАПИСАНИИ ПРОЦЕДУРЫ, файл с текстом модуля во вложении (чтоб не скачивать всю конфу).
4. KukA.5 474 15.11.09 00:59 Сейчас в теме
(3) Ish_2, а что Вам не понравилось в запросе? Неужели можно реализовать как то лучше, оптимальнее? Критика и конструктивное обсуждение - это ценно среди коллег (специалистов). Жду Ваши замечания на тему запроса. И буду за них благодарен (если они появятся, конечно).

Включение/выключение контроля можно сделать настройкой пользователя, а в процедуре при невключенной опции, просто не проверять ничего. Я не реализовывал это, при необходимости сделайте сами.
6. Ish_2 1062 15.11.09 01:15 Сейчас в теме
(4) Про запрос - потом.
Всё-таки хотелось услышать обоснование такого подхода к контролю некорректных проводок. Предлагая пользователю изменение конфигурации, необходимо как-то минимально обосновать это деяние.

На мой взгляд , введение флага включения/выключения контроля функционально совершенно необходимо. Следовательно , нужны допонительные изменения в конфигурации для хранения этого флага.
9. KukA.5 474 15.11.09 01:30 Сейчас в теме
(6) хотелось бы увидеть конструктивную критику запроса, если она у Вас есть ;)
10. Ish_2 1062 15.11.09 01:42 Сейчас в теме
(9) Я , к сожалению, не знаю УПП. И насколько понял отличие Вашей подсистемы именно в том , что она именно БЛОКИРУЕТ некорректные проводки. И необходимо прямо в модуль НабораЗаписей передавать значение флага . Вы не видите здесь дополнительных затруднений ?

Теперь по тексту запроса.
Итак , Вы хотите соединить две таблицы левым соединением.
Вначале рассмотрим условие соединения.
5. German 874 15.11.09 01:04 Сейчас в теме
(3) Изучите продукт, а потом кричите большими буквами. 8-)
идем в настройки пользователя и видим контроль корреспонденции счетов.
7. KukA.5 474 15.11.09 01:24 Сейчас в теме
(5) Ну да, пользователя в УПП ...что спросили (и он ответил Ок). И влетела проводка Дт60.1 Кт41.1 - см. картинку :)

Я показал механизм БЛОКИРОВАНИЯ некорректных корреспонденций. Задача из реальной жизни возникла - и оказалась очень полезной в бухгалтерии (не я ее придумывал).
Прикрепленные файлы:
8. KukA.5 474 15.11.09 01:27 Сейчас в теме
В дополнение к (7) перед тем как ...я не забыл включить контроль :)
Прикрепленные файлы:
29. German 874 16.11.09 09:33 Сейчас в теме
(7) ну если пользователь имеет права на запись в регистр корректных проводок то тут никакого ограничения быть и не может... см роль Настрока НСИ (рег) ;)
14. CheBurator 3453 15.11.09 03:13 Сейчас в теме
сделать неправильно можно тысячью способов. сделать правильно - способов гораздо меньше. Описать правильные проводки - это правильно! - это порядок на фирме, это учетная политика и т.д. Так что (5) - бооольшой плюс.
15. Ish_2 1062 15.11.09 04:11 Сейчас в теме
(14) Чего-то ты того .. Не разобрался.
Речь шла о том , плагиат это или не плагиат ? Это не плагиат.
Обвинение должно быть снято.
Забирай своой "Бооольшой плюс" для (5) обратно.
2. Ish_2 1062 15.11.09 00:42 Сейчас в теме
Я извиняюсь.
Пока не будем касаться качества составления запроса в Вашем модуле.

Но в теме явно не хватает обоснования такого подхода.
В каких случаях по-Вашему стоит пойти на изменение конфигурации БП ради контроля некорректности проводок . О реализации такого подхода в УПП мне, к сожалению , ничего неизвестно.

Опять же не касаясь подробностей реализации , не кажется ли Вам что функционально следует добавить включение/выключение контроля некорректности проводок. Если количество записей в модуле набора очень велико (ВводОстатков) , то разумнее отключить этот контроль.
11. Ish_2 1062 15.11.09 02:05 Сейчас в теме
Две таблицы 1.Ткор- текущие записываемые корреспонденции набора записей
2. ТНеКорр - регистр свелений некорректных проводок

 ПО ТКор.СчетДт = ТНеКорр.СчетДт
   И ТКор.СчетКт = ТНеКорр.СчетКт
   И (ТНеКорр.Использовать)
   И ТКор.ПериодЗаписи >= ТНеКорр.ДатаНачалаДействия
   И (ВЫБОР
        КОГДА ТНеКорр.ДатаОкончанияДействия = &ПустаяДата
        ТОГДА ИСТИНА
        ИНАЧЕ ВЫБОР
	   КОГДА ТКор.ПериодЗаписи <= ТНеКорр.ДатаОкончанияДействия
                  ТОГДА ИСТИНА
	   ИНАЧЕ ЛОЖЬ КОНЕЦ
        КОНЕЦ)
Показать

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

ПО ТКор.СчетДт = ТНеКорр.СчетДт
И ТКор.СчетКт = ТНеКорр.СчетКт
И ТКор.ПериодЗаписи >= ТНеКорр.ДатаНачалаДействия
И ТКор.ПериодЗаписи <= ТНеКорр.ДатаОкончанияДействия

ТНеКорр - это временная таблицы полученная из регистра сведений с фильтром Использование = Истина и преобразованными колонками ДатаНачалаДействия и ДатаКонцаДействия
12. KukA.5 474 15.11.09 02:26 Сейчас в теме
(11) соединять с отфильтрованной временной таблицей из регистра сведений, действительно лучше (и я об этом знаю). По решаемой задаче блокируемых проводок мало, поэтому я и не стал этого делать.
Спасибо, коллега!
13. Ish_2 1062 15.11.09 03:05 Сейчас в теме
(12) Желательно пользователей предупредить , что при большом количестве проводок будут наблюдаться жестокие тормоза.
И это еще не все .

Ваша цель найти и отобразить ТОЛЬКО некорректные проводки.
У Вас две таблицы ТКор с корреспонденциями и ТНеКорр - с некорректными проводками. Зачем мы применяем левое соединение ТКор с ТНеКорр , в результате которого в выходную таблицу попадают ВСЕ записи таблицы ТКор ? Правильнее и гораздо эффективнее применить внутреннее соединение , в результате которого в выходную таблицу попадут ТОЛЬКО нужные записи .
aleks_cons; +1 Ответить
16. KukA.5 474 15.11.09 11:19 Сейчас в теме
(13) внутреннее соединение - это будет правильнее, безусловно согласен.
...ну и, наверное, тогда еще и индексы стоит расставить на поля временных таблиц, по которым будет проходить соединение.
Еще раз СПАСИБО за грамотную методическую поддержку, коллега.
44. KukA.5 474 30.11.09 21:29 Сейчас в теме
(13) "...Желательно пользователей предупредить , что при большом количестве проводок будут наблюдаться жестокие тормоза....."

Тормозов нет - мнение было ошибочно. Хотелось бы также услышать мнение, почему вариант запроса с внутренним соединением оптимальных таблиц, работает хуже. И рекомендации (может быть) как все-таки получить более высокую производительность на втором запросе.

:D
45. Ish_2 1062 01.12.09 09:58 Сейчас в теме
(44) Чтобы хоть как-то определиться , нужно представить корректное описание эксперимента в виде статьи :
Текст запроса Вариант 1 . Вариант Куканова
Текст запроса Вариант 2 . Вариант Исхакова

Описать тест и привести сравнительные характеристики по поизводительности.
Сделать вывод (или предположение): почему вариант Куканова оказался более производительным в реальном испытании.

Иначе мы будем очень долго препираться : а все ли мы учли ?
Обещаю только одно - буду заинтересованным читателем и ,возможно, оппонентом.
46. KukA.5 474 01.12.09 21:19 Сейчас в теме
(45) Думаю, для себя я проведу дополнительные эксперименты по вопросам производительности запросов с разными вариантами соединений, с моими друзьями-коллегами. Этот вопрос меня интересует. Если будет интересно можно будет потом обсудить полученные результаты.

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

Всем спасибо.
47. Ish_2 1062 02.12.09 12:52 Сейчас в теме
(46) А всё-таки эффектным завершением дискуссии являлась бы статья с аргументацией и опровержением предложений оппонентов.
Где бы и приводились пусть кратко результаты эксперимента.
Читателей будет немного , но будут .
Желательно только предупредить о выходе статьи.
17. CheBurator 3453 15.11.09 15:23 Сейчас в теме
блин я не пойму. чем список некорртекнтых проводок лучше списка корректных проводок?
18. KukA.5 474 15.11.09 16:58 Сейчас в теме
(17) Сергей, разница здесь такая:

1. корректные проводки - это то, что МОЖНО. И если в этом списке не окажется чего то что нужно сделать, то или будет ненужная блокировка неизвестной (еще) проводки или пользователь сам принимает решение (что эти проводки можно) или надо ждать пока глав.бух добавит в список новую корректную проводки и только тогда можно будет провести документ.

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

2. некорректные проводки - это список запрещенных проводок. Те которые всю жизнь использовали (и привыкли к ним), а теперь новый глав.бух их может запретить! и программист должен ему помочь в таком механизме БЛОКИРОВАНИЯ НЕПРАВИЛЬНЫХ ПРОВОДОК.

Итог: корректные - это правила, на которые пользователь опирается и может их "по ходу пьесы" расширять, а Некорректные (запрещенные) - это те, которые пользователь не сможет сделать никогда (даже если рука "по привычке" потянется к таким корреспонденциям). Такой механизм может быть полезен для больших (огромных) организаций, для маленьких, наверное, это проще решить на организационном уровне (и здесь ты абсолютно прав).
21. CheBurator 3453 15.11.09 17:37 Сейчас в теме
(18)
корректные - это правила, на которые пользователь опирается и может их "по ходу пьесы" расширять, а Некорректные (запрещенные) - это те, которые пользователь не сможет сделать никогда (даже если рука "по привычке" потянется к таким корреспонденциям)

.
Андрей, твое решение - это "затычка" от "реальной тупизны" - это хорошо. Если главбух может их запретить - то почему не может их "запретить" для себя сам пользователь? - потому что привык?
.
И С КАКОГО БУДУНА ___пользователь____ (т.е. рядовой оператор или бух) МОЖЕТ РАСШИРИТЬ СПИСОК КОРРЕКТНЫХ ПРОВОДОК??? расширение корректных проводок - это исключительно преррогатива ВЗУ/ЛПР - это должно быть установлено "учетной политикой". И если учетную политику может менять ПОЛЬЗОВАТЕЛЬ - то про что говорить? (это типа как торговля оптом в конторе идет, а рядовой.бух принимает решение поторговать в розницу).
.
ну запретит сегодня главбух "некорректную" проводку какую-нибудь, ну завтра пользователь набабахает новую некорректную... тупо если приянть что 100 счетов в плане счетов и счет можеть стоять в Д или К - то получим 10 тыс возможных корреспонденций. Подмножество ПРАВИЛЬНЫХ проводок - гораздо меньше подмножества неправильных проводок.
.
и если вдруг буху действительно понадобилось сделать "нестандартную" проводку - то не ГБ должен потом искать - какие там неправильные проводки у меня бухи сделали чтобы я мог их запретить, а бух, которому нужна нестандартная/неправильная проводка - бежит к главбуху и обосновывает необходимость - и ГБ либо пошлет НА! либо сделает сам (так есть права), либо внесет проводку в список разрешенных...
.
а то эта схема работы с "неправильными проводками" напоминает по типу "не знаем, чем больной болеет - давайте полечим от всего подряд" - тут или больной от лечения загнется или стоимость такого лечения будет астрономической.
.
так что СУЩЕСТВЕННЫМ имхо в описании обработки будет сказать - данная схема применима там, где в организации бардак и ни у кого не доходят руки до настройки/постановки учета. Тогда да - разработка будет на своем месте и востребована.
.
конечно было бы хорошо чтобы на эту тему высказался реально практикующий ГБ. У меня такой есть - я на неделе постараюсь изложить концепцию по типу "что правильно: составлять список неправильных проводок или составить список правильных проводок"... - возможно моя точка зрения и неправа...
wumka; KukA.5; +2 Ответить
22. KukA.5 474 15.11.09 19:25 Сейчас в теме
(21) я даже не знаю как лучше... Все сильно зависит от организации и ее людей, ты прав.

Проводки (все возможные) можно поделить на 3 категории:
1. Правильные (все хорошо, проводить)
2. Запрещенные (точно нельзя, блокировать)
3 Новые (еще неизвестные системе) - тут наверное решение принимает пользователь, с авто-уведомлением ГлавБуха...

Нам, программистам, ставят задачи - мы их решаем (и так как их просят решить). Мне была поставлена задача - блокировать некоторые корреспонденции (их мало, но которые определены как некорректные).
25. Ish_2 1062 15.11.09 21:49 Сейчас в теме
(21) Тактичный Чебур не сделал контрольного выстрела.
Т.е. не сделал завершающего вывода : (Да , простит меня автор)

Если с точки зрения учета правильнее использовать возможности типовой конфигурации по контролю корректности проводок , то представленная система "Некорректные проводки" не только бесполезна для пользователей , но и может принести им серьезные проблемы .
19. artbear 1306 15.11.09 17:07 Сейчас в теме
(0) Работа с бух.регистром и так не слишком быстрая, а после введения подобной системы производительность может еще сильнее упасть.

Производительность решения тестировал ?
Если тестировал, то каким образом?

Жду ответов.
20. KukA.5 474 15.11.09 17:19 Сейчас в теме
(19) контроль выполняется перед записью, и скорее всего на производительность не влияет.

Замеров не делал, было некогда, а визуально для пользователя после реализации ничего не изменилось, все летает как и раньше.. Это хорошая мысль - надо померить! Сделать групповое перепроведение и сравнить оба варианта: С... и БЕЗ...

Спасибо.

23. larisab 159 15.11.09 19:56 Сейчас в теме
Мне была поставлена задача - блокировать некоторые корреспонденции (их мало, но которые определены как некорректные).

Ага, и о любом чихе в пару строк надо обязательно оповестить инфостарт десятком скриншитов. :D
24. KukA.5 474 15.11.09 20:47 Сейчас в теме
на (23) - это личное, со стороны этой (безусловно очаровательной) девушки. Она меня преследует :) и везде пишет "не совсем" по теме :) Я не знаю, что делать... :) А игнорировать или послать нельзя (девочек не обижают, тем более хороших).

Лариса, да, вот такой я нехороший - взял и написал тему, и даже выложил реализацию механизма (может и не нужного, но полезного кому то).

Лариса, могу дать совет: Не надо читать мои темы, не надо заходить на мою страницу в одноклассниках, не писать комментарии к моим глупостям на Инфостарте... все просто! Мне такое безразличие станет невыносимо и я анрегистрируюсь с ИнфоСтарта. (не обижайся)
26. larisab 159 15.11.09 22:02 Сейчас в теме
(24) Мне фиолетово твоя личность, мне не нравится твое отношение к читателям инфостарта (активные нулевисты и пр.).
Ты начал свою пиар-компанию со стыренной и, выданной за свою, идеи, это уже обсуждалось. После чего моя симпатия по-дефолту ко всем новичкам, улетучилась.
В одноклассники пришлось сходить, чтобы выяснить масштаб личности, после чего личность была помещена в черный список.
Советы мне давать не надо, я сама решаю, где мне писать, а где нет, если тема обсуждается в прямом эфире.
27. KukA.5 474 15.11.09 22:30 Сейчас в теме
(26) Мне наплевать, что вы обо мне думаете. Я о вас не думаю вообще. (Коко Шанель)

(25) спасибо за участие в обсуждении - оказалось очень полезным (завтра обсудим с Заказчиком эту тему).
28. larisab 159 15.11.09 22:38 Сейчас в теме
(27) Ну в принципе, ничего другого ожидать и не приходится, кроме цитат и копипаста, свои мысли - удел не каждого. ;)
30. luns 16.11.09 15:19 Сейчас в теме
Для larisab: Считаю, что не все программисты одинаково "сильны", поэтому любое законченное (или даже незаконченное) решение может быть размещено на тематическом портале.
Возможно кому то поможет или натолкнет на идею. В конце концов, можно всегда поставить "Злобный минус" (желательно обосновать)
А по сабжу: Согласен с German - типового механизма на мой взгляд, вполне достаточно.
31. KukA.5 474 16.11.09 23:30 Сейчас в теме
(30) Заказчик сегодня четко обозначил, что типового функционала (при его ситуации) не достаточно, необходимо обеспечить блокирование некоторых проводок.
32. wumka 95 17.11.09 00:27 Сейчас в теме
ИМХО, тут весь дискусс свёлся не столько к самой разработке, сколько, подспудно, к профессионализму ГБ и порядку в бухгалтерии её запросившей.

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

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


P.S. форум мониторю давно, но высказываюсь впервые.
33. KukA.5 474 17.11.09 00:51 Сейчас в теме
(32) спасибо за Ваше мнение - во многом с Вами согласен. Очень понравилось Ваша цитата :), без привязок к личностям
34. KapasMordorov 17.11.09 09:37 Сейчас в теме
Если запрет действует, когда бух проводит документ - это ЛОЛ.
Если всё это ради возни в ручных проводках - флаг им в руки.
38. KukA.5 474 23.11.09 22:43 Сейчас в теме
в (34) "...Если запрет действует, когда бух проводит документ - это ЛОЛ..."

ЛОЛ - это что такое? думаю многим, не очень понятно ЧТО ты имел ввиду :)
35. KukA.5 474 20.11.09 21:31 Сейчас в теме
20.11.2009 добавил текст основной процедуры - там заменен запрос на более оптимальный (за что спасибо Игорю Исхакову за его комментарии под ником Ish_2)
36. KapasMordorov 23.11.09 15:42 Сейчас в теме
Достаточно в картинке из поста 8 поменять местами корреспонденцию и поменять знак суммы и все запреты отправляются лесом.
37. KukA.5 474 23.11.09 22:41 Сейчас в теме
(36) плохо быть таким невнимательным :)

на рисунке в посте №8 показано, как в типовой ...УПП (не в Бухгалтерии предприятии, о которой идет вообще то здесь речь) обойти механизм (о котором писал Герман), контролирующий корректность проводок.
39. KapasMordorov 24.11.09 09:11 Сейчас в теме
Может быть я невнимателен в номере картинки, но сделать нужные мне движения при запрете я могу. Механизм с дырой.
40. KukA.5 474 24.11.09 21:29 Сейчас в теме
(39) ты можешь сделать при запрете нужные тебе движения ГДЕ?
...в типовом механизме контроля корректности проводок в УПП (то что изображено на рисунке в посте №8)?
...или ты "нашел дыру" в механизме блокирования некорректных проводок (который я представил)?

Научись ясно выражать свои мысли, для начала... :)

Программист пишет обычно также как думает - ...ты опасный (для Заказчика) программист :)
41. KukA.5 474 27.11.09 23:14 Сейчас в теме
Замеры производительности, получилось сделать пока только в файловом варианте - за работой просто некогда :)

Документ ввода остатков материалов ~1500 строк, некорректных проводк 49 штук.

Скрин 1 теста - это первый вариант запроса, первый запуск программы (кеша еще нет).

Замерялась производительность только записи в регистр бухгалтерии. Это всего 6% от всего того, что делается типовое в УПП при записи проводок в регистр.
Прикрепленные файлы:
42. KukA.5 474 27.11.09 23:22 Сейчас в теме
это тоже самое - но повторно. В этом случае используется кеш. Время на скрине чуть меньше.

4,8%
Прикрепленные файлы:
43. KukA.5 474 30.11.09 21:16 Сейчас в теме
Сегодня протестил в серверном варианте, скриншот во вложении. Сверху на рисунке первый вариант запроса, снизу второй, "более оптимальный", но на практике он в 3 раза более тормознутый.

Так что все авторитетные заявления по поводу "убивания производительности", "ужасных тормозов для пользователя" ...пустое. Я в этом убедился.

Время в секундах при замере производительности (на 1500 строк проводок х 49 некорректных).... как видно из рисунка 0,02 или 0.06. При том что типовое проведение этого огромного документа в УПП реально ооочень долго выполняется.
Прикрепленные файлы:
48. rasswet 82 27.04.10 10:21 Сейчас в теме
очень хорошие скины и много!
49. rasswet 82 27.04.10 10:24 Сейчас в теме
"некорретных" наверное некоррекТных всё же.
Оставьте свое сообщение

См. также

Модульная (open source) конфигурация "INFOSTART ERP community edition" Промо

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

Учетная модульная конфигурация "INFOSTART ERP community edition" для ведения комплексного учета на предприятии.

31.08.2020    8050    561    33lab    109    

Работа с кодом и его выполнение в режиме 1С: Предприятие (обычные формы)

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

С помощью этой простой обработки теперь можно выполнять код не только в конфигураторе. Код в режиме Предприятия имеет вид как в конфигураторе.

11.03.2021    1712    83    Nik_Name    8    

Вызов демонов в 1С

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

Вызываем демонов прямо из 1С!

28.01.2021    6952    154    the1    30    

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

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

Решение задачи контрольной работы.

12.12.2020    1911    39    vova-1c    29    

Генерация кода управляемой формы (декомпиляция элементов) Промо

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

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

29.09.2014    110718    9144    ekaruk    134    

Ввод по строке для управляемых форм

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

Ввод по строке с поиском по номеру телефона и наименованию контрагента с помощью обработчика "АвтоПодбор".

08.10.2020    2362    34    anrahell    2    

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

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

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

05.06.2020    3415    0    VZhulanov    1    

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

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

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

31.05.2020    5293    0    rpashkovsky    15    

Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки Промо

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

Цель использования: разгрузить процессор, когда два или более пользователей пытаются провести документ. 1С пытается заблокировать таблицы, но делает это без пауз, и загружает процессор на 100%. При этом пользователи практически "встают", и нормальная работа прекращается. Компонента (или патч) позволяет решить эту проблему и нормализовать работу пользователей. Особенно актуально при работе в режиме сервера терминалов.

13.12.2007    54604    7766    romix    79    

Пример работы MiracleV8.dll в режиме Управляемого приложения (тонкий клиент)

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

Пример конфигурации Управляемое приложение с использованием MiracleV8.dll

09.04.2012    21139    220    Abadonna    26    

v77. Тип данных "Месяц"

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

Нет такого в 1С типа данных. Но если очень хочется...

12.03.2012    10176    6    item    2    

Задача: Программа, выводящая на экран свой исходный код (куайн)

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

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

27.07.2011    11211    345    archie    17    

Информация по реквизитам объекта метаданных на полную глубину

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

Дерево реквизитов объектов метаданных. На всю глубину (т.е. смотрит реквизиты у реквизитов).

10.06.2011    14808    163    kosmo0    5    

Обработка поиска дублей кода. Исходного кода модулей 1С

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

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

12.04.2011    7695    206    bk-81    37    

[Скрипт] Чтение EXIF данных

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

Скрипт на C# для чтения Exif-данных из jpg-файла. Упакован в обработки для 8.1 и 8.2 (управляемые формы)

18.02.2011    23343    282    Душелов    14    

Исполнение кода в модуле формы при разработке в 1С 8.2

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

Немного теории о новом подходе к программированию форм в 1С 8.2 Рассматриваются директивы компиляции процедур и функций, которые определяются в модуле формы.

15.01.2011    27461    167    1cNike    19    

Запрос против рекурсии или разузлование номенклатуры

Практика программирования Учет ТМЦ Учет ТМЦ v8 КА1 Россия БУ Бесплатно (free)

В задаче "разузлования" номенклатуры в БП 1.6 (2.0) покажем , что запрос более эффективен, чем рекурсия.

23.11.2010    53057    846    Ish_2    258    

Выполнение кода C# из 1С

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

Обработка показывает возможности выполнения кода С# из программы 1С.

23.11.2010    12216    253    AlkB    9    

Экспорт встроенных XML-схем описаний типов 1С:Предприятия

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

Экспорт встроенных XML-схем описаний типов 1С:Предприятия

01.11.2010    22838    201    Dmitryiv    7    

Конструктор шаблона подобия для строк

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

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

17.08.2010    14177    35    YVolohov    11    

Коллекционер - упорядочиваем свои файлы.

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

Ещё один менеджер обработок - но для разработчика)

09.04.2010    12581    150    Lancelot-2M    5    

Подсистема хранения файлов

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

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

23.03.2010    6160    761    koreav    32    

[BackgroundWorker] - Фоновые задания в файловом режиме 1С 8.x

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

ActiveX-компонента позволяет выполнять задачи в фоне с индикацией прогресса и возможностью прерывания выполнения. Также работает и клиент/серверном варианте, в качестве альтернативы типовым фоновым заданиям

04.03.2010    24610    418    Душелов    15    

Загрузка из Excel в ТаблицуЗначений 8.1 (с помощью ADO DB)

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

Внешняя обработка для загрузки данных из Excel в ТаблицуЗначений 8.1

19.02.2010    11132    558    dav405    8    

[8.2] Шаблон обработки с индикацией прогресса выполнения (управляемые формы)

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

- Обработка выполняется на сервере - Отображение хода выполнения обработки с расчетом оставшегося времени. - Возможность прерывания выполнения обработка (CTRL + Break)

12.02.2010    27660    1362    Душелов    31    

Загрузка программы НТВ-плюс

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

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

08.02.2010    6819    121    maxlenium    15    

Печать произвольной таблицы значений

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

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

29.01.2010    11171    301    Пацталоцци    12    

1c-minder: обработка для создания ментальных карт (mind maps) в 1С:Предприятие 8

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

Обработка позволяет быстро и удобно создавать ментальные карты (mind maps) в виде графических схем. Присутствует возможность сохранения схем в файлах формата .grs, после чего их можно открывать на всех компьютерах, на которых есть установленная "1С:Предприятие 8" или "1С:Работа с файлами". Реализован экспорт в графические форматы (PNG/BMP). Разработка является иллюстрацией механизма программной работы с графической схемой (добавление и изменение элементов схемы).

25.12.2009    21741    985    kharts    29    

Генератор математических задач для первоклашек

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

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

08.12.2009    4765    102    iiukolov    15    

Подведем итоги. Нарастающие.

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

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

25.11.2009    43506    384    Ish_2    125    

Хранитель COM - объектов

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

Позволяет сохранять COM - объект между серверными вызовами в 8.2. Сохраняет и получает ссылку на объект в ROT (Running Object Table). БЕТА!

18.11.2009    13515    78    Hadgehogs    14    

Загрузить все данные со всех страниц файла Excel

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

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

11.11.2009    12879    590    Мастер1С    12    

Строка - "заголовок" в табличном поле

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

Несложный приём позволит вводить в табличное поле строки вида "заголовок".

09.11.2009    14997    191    Ish_2    8    

Регистры и регистраторы

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

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

04.11.2009    18817    562    YVolohov    29    

Замена вызовов методов общих модулей во внешних обработках/отчетах

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

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

26.10.2009    17594    129    coder1cv8    10    

Загрузка курсов валют национального банка РБ с использованием web-сервиса.

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

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

25.10.2009    9414    71    serg_gres    12    

[8.2] Консоль заданий на управляемых формах

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

Консоль заданий для 1С 8.2 На управляемых формах, на основе типовой.

30.09.2009    56535    4317    Душелов    62    

Панель избранного 3.03 (beta)

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

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

13.09.2009    34246    1000    Totoro    113    

Подсистема "Учет по доп. аналитике" (8.1)

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

Подсистема "Учет по доп.аналитике" - это дополнение к любой конфигурации на 8.1 решает основную задачу: не ломая конфигурации добавить к нужным документам учет по дополнительной аналитике (аналитикой может выступать как в данном примере Агент по продаже и его вознаграждение или Проект и его руководитель как в файле описания). Данная подсистема является продуктом, готовым к использованию, как дополнение к типовой конфигурации (или к любой конфигурации). Подсистема снова БЕСПЛАТНО (то есть даром) :)

07.09.2009    12675    403    KukA.5    41    

Запросы. Оценка складских запасов (по параметру "дней торговли") или труднореализуемые остатки

Оптовая торговля Учет ТМЦ Практика программирования Оптовая торговля Учет ТМЦ v8 УТ10 Бесплатно (free)

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

28.08.2009    9582    102    elizarovs    5