Проверка данных

26.10.17

Задачи пользователя - Адаптация типовых решений

Простой и удобный инструмент для проверки данных (справочников, документов) сразу в момент записи. Позволяет значительно повысить качество информации, вводимой в любую систему на платформе 1С:Предприятие 8.2-8.3. Прост в освоении и использовании, оптимизирован по быстродействию.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Конфигурация Проверка данных + инструкция по установке, версия 1.0.2.1
.zip 248,48Kb ver:1.0.2.1
255
255 Скачать (1 SM) Купить за 1 850 руб.

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

 

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

А дело тут вот в чем.

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

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

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

 

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

Например:

  • Если мы продаем со счета 10.01, то счет доходов должен быть 91.01, иначе - 90.01;
  • В требовании-накладной на основное производство, если номенклатура из папки "Металл", то статья затрат должна быть "Металлы основного производства";
  • В заказе покупателя обязательно должен быть указан грузополучатель и его адрес;
  • Если в плане ДДС указано подразделение "Отдел продаж", то расход денег может быть только наличный.
  • И т.д.

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

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

 

Но теперь есть повод для радости - появилось решение Проверка данных.

Если кратко, то это настраиваемая в пользовательском режиме проверка документов и справочников.

 

Основные возможности и особенности:

  1. Проверять можно любой справочник или документ, который есть в вашей программе на платформе 1С;
  2. Работает в любой конфигурации на платформе 1С, начиная с версии 8.2.16;
  3. Проверка выполняется при записи. Если проверка не прошла - записать не даст;
  4. Настраивать - не сложнее, чем делать отбор в отчетах;
  5. При желании и соответствующих навыках, для реализации проверки можно писать произвольный запрос через СКД;
  6. Можно на время отключить проверки для определенных пользователей. Например, для группового перепроведения документов;
  7. Можно массово проверить старые справочники и документы по новым проверкам (а не только при записи);
  8. Замер производительности - оценит, насколько увеличилось время записи/проведения при включении проверки;
  9. Разные варианты исполнения проверок с точки зрения производительности.

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

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

 

Производительность

При разработке продукта особое внимание мы уделили производительности. Искали и пробовали различные варианты, общались с партнерами и разработчиками 1С, проводили тесты на реальном предприятии в течение нескольких месяцев.

В итоге мы получили результаты, которыми гордимся.

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

Например, на картинке, приведенной ниже, показано, что при записи заказа поставщику будет выполнено 4 проверки - и все одним запросом.

4 проверки одним запросом

 

Второе, не менее важное - мы реализовали несколько вариантов исполнения проверки

Варианты проверки

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

Простой вариант

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

Но и в простом варианте нашлось место оптимизации - если установить флаг "Проверять объект непосредственно", то обращения к базе данных не будет происходить вообще.
Это самый оптимальный способ исполнения, для несложных проверок - но таких, по нашему опыту порядка 30 %.

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

Если флаг "Проверять объект непосредственно" снять, то получится второй способ исполнения - выполнение запроса. Это самый распространенный режим исполнения, в котором работают примерно 40 % проверок. Его производительность несколько ниже, чем у первого способа.

Сложный вариант

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

Сложный вариант имеет три способа исполнения.

Первый способ - самый "тяжелый" с точки зрения производительности, т.к. при проверке будет исполняться схема целиком. На практике применяется редко, когда нужна архисложная проверка - не более 2 %.

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

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

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

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

Практика показала, что такой режим используется примерно в 20-25 % случаев.

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

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

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

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

1. Сколько всего ушло времени на запись;

2. Сколько ушло времени конкретно на проверки.

Результат замера - насколько увеличилось время записи из-за применения проверки:

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

На скриншоте, например, видно, что проведение заказа поставщику увеличилось на 1.4 - 3.5 %.

 

 

19.11.2014 г. - вышла обновленная версия.

Что нового:

1. Исправлен ряд скрытых недочетов;

2. Добавлена возможность создания проверок, которые будут действовать только для новых объектов. Например, при добавлении элементов справочников.

 

04.03.2016 г. - вышла обновленная версия.

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

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

 

Для анализа срабатывания проверок за период добавлен отчет "Эффективность проверок". Отчет показывает, какие проверки, у каких пользователей срабатывали в течение периода.

 

В отчете два предопределенных варианта - "По проверкам" и "По объектам".

 

Отчет может использоваться для разных целей.

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

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

17.08.2017 г.

Конфигурация и инструкция теперь в одном файле, по минимально возможной стоимости (1 sm).

Проверка проверка данных контроль данных качество данных онлайн проверка

См. также

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4169    14    1    

32

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5993    14    5    

24

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6706    73    10    

30

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

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

2 стартмани

22.04.2024    5267    dimanich70    15    

22

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

01.03.2024    6824    dimanich70    9    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. makas 44 01.07.14 17:48 Сейчас в теме
Вопрос: обработка в УТ 10.3 будет работать?
2. 1c-intelligence 12849 01.07.14 18:42 Сейчас в теме
(1) makas, да, будет - вопрос только в платформе. Работает на любой платформе выше 8.2.16.
160. masik777 30.08.22 05:32 Сейчас в теме
(2) На УТ 10.3 (33.1) не работает от слова ваще. При установке в Конфигураторе при сохранении F7 ничего не вышло. Конфа просто тупо сохранилась и закрылась. Регистры добавились, если чмотреть ч/з конфигуратор, а вот в режиме Предприятие - Операции- Регистр Сведений - пусто. Жаль((
161. 1c-intelligence 12849 30.08.22 08:45 Сейчас в теме
(160)
при сохранении F7 ничего не вышло

это как? И что такое "при установке в Конфигураторе"?
162. masik777 01.09.22 20:24 Сейчас в теме
(161) Спасибо, что ответили. При установке в конфигурации - это значит согласно инструкции, т.е ...сравнить - объединить, выбираем файл убираем "галочку" На Управление торговли, действия, отметить по подсистемам файла, ставим " галочку" на "ит_ПроверкаДанных" далее по инструкции к установке - жмем Выполнить, далее по инструкции - "Нужно обновить конфигурацию базы данных. Обычно это делается нажатием кнопки F7. В базе при это не должно быть пользователей. Программа обновит структуру данных и выдаст список изменений: На этом этапе должно вылезти окошко с изменениями." У меня не вышел список изменений с кнопкой "Принять" . Хотя, если смотреть регистр сведений ч/з конфигуратор- там все есть, в регистре добавилось. В Режиме Предприятие в Регистре Сведений - пусто. Вот. Вроде как подробно описал. Такая беда..
Прикрепленные файлы:
163. 1c-intelligence 12849 02.09.22 07:46 Сейчас в теме
(162) А вы F7 нажимали после завершения сравнения/объединения?
164. masik777 02.09.22 08:57 Сейчас в теме
(163) Нажимал. Все делал согласно инструкции. Буква в букву. После F7 вышел, перезашел снова в Конфигуратор - посмотрел - все на месте. А в режиме Предприятие - РегистрСведений - там пусто.
Накатил CF по новой из архива - сделал все по новой. Все равно та же ситуация. Ну да ладно.. Так тоже бывает. Ну не пошло..что делать. Судя по всему - обработка очень классная..Но..
165. 1c-intelligence 12849 02.09.22 10:26 Сейчас в теме
(164) у вас есть какой-нибудь знакомый программист, чтобы ему показать?
166. masik777 02.09.22 13:57 Сейчас в теме
(165) Если что то заменить в cf - то я и сам смогу. Знать бы что и на что менять.)
167. 1c-intelligence 12849 02.09.22 14:09 Сейчас в теме
(166) да я просто теряюсь, что посоветовать. Впервые вопрос по вставке конфигурации возникает.
3. TrinitronOTV 16 02.07.14 05:22 Сейчас в теме
"инструмент для онлайн-проверки данных" - это как понять? нужен выход в интернет и куда тогда инфа отсылается?
4. 1c-intelligence 12849 02.07.14 06:16 Сейчас в теме
(3) TrinitronOTV, речь, конечно, идет не об интернете. Онлайн - значит проверка в реальном времени, т.е. при записи справочника/документа. Есть и офлайн, когда проверка идет не в момент записи, а к большому массиву документов.
Применено вот это значение слова "онлайн":
Онла́йн (англ. online, от англ. on line — «на линии», «на связи», «в сети») — «находящийся в состоянии подключения».
5. TrinitronOTV 16 02.07.14 07:42 Сейчас в теме
(4) спасибо за разъяснение
6. ShantinTD 91 02.07.14 20:34 Сейчас в теме
Ничуть не умаляя достоинств Вашей разработки, скажу, что в приложении, в котором проверки реализованы лишь для того, "чтобы не падало", и проверок на правильность (адекватность) вводимых данных не проводится - в нем не проработана (или не доработана) бизнес-логика. К сожалению, многие недалекие пользователи именно за это и любят недоработанные системы: система позволяет делать что угодно. Пример тому - пресловутая бухгалтерия от 1С. Все кричали "верните нам семёрку" потому что в восьмёрку их абы как забитые документы не переносятся, нужно заполнять нормально (по крайней мере - хоть какая-то проверка). Теперь кричат то же самое относительно бухгалтерии 3.0. По той же самой причине - то, что бухгалтерия 2.0 пропускала - тройка перестала пропускать.
Живой пример из недавнего: "у нас документы по кассе проводок не делают. Раньше (в 2.0) мы ставили галочку 'ручная корректировка' и все работало". Вместо того, чтобы выяснить (или хотя бы спросить) почему не работает три бухгалтера три года вносили документы ежедневно по десяти кассам, и в каждом делали проводки вручную!

Тем не менее, надеюсь, что не все пользователи такие, и Ваш продукт не останется без внимания.
8. 1c-intelligence 12849 03.07.14 06:38 Сейчас в теме
(6) ShantinTD, вы правильно подметили - есть программы с прошитой бизнес-логикой, есть с широкой свободой выбора. "Проверка данных" ориентирована на вторые.
Не берусь судить, правильно ли прошивать все проверки в коробочном продукте. Наверное, тут нет универсального рецепта - все зависит от конкретного предприятия, от его внутренних требований к качеству учета. Кому-то проще и лучше, чтобы все решили за них разработчики 1С, кому-то нравится решать самому.
Отдельно отмечу, что "Проверка данных" перед публикацией работала в течение двух лет на УПП, и отлично себя зарекомендовала.
40. AlexanderKai 25.11.14 14:32 Сейчас в теме
(6) ShantinTD,
Можно было запретить ручную корректировку на уровне прав.
7. МимохожийОднако 142 02.07.14 21:00 Сейчас в теме
ОФФ: Жалко, что не нахаляву. ))
9. 1c-intelligence 12849 03.07.14 06:46 Сейчас в теме
(7) МимохожийОднако, если вы - представитель партнера 1С, то можно обсудить предоставление NFR-версии. Несколько таких версий было предоставлено партнерам до публикации продукта, на время тестирования, и они сильно помогли сделать продукт лучше.
А для клиента, кажется, цена не слишком высока. К тому же, стоит гарантия возврата денег.
МимохожийОднако; +1 Ответить
13. RayCon 745 04.07.14 00:52 Сейчас в теме
(9) очень нужна такая софтина для постановки учета клиентам, т.е. меня интересует перепродажа. Давно сам думал на эту тему, но, как обычно, руки не доходили.

Есть вопрос: существует ли переносимость единожды выполненных настроек?

P.S. Могу помочь с доводкой продукта и с продвижением.
10. Evgen.Ponomarenko 568 03.07.14 10:54 Сейчас в теме
А в каком виде пользователь получает сообщение об ошибке при сохранении документа? Попадает ли курсор в ошибочное поле?
14. 1c-intelligence 12849 04.07.14 06:48 Сейчас в теме
(10) Evgen.Ponomarenko, пользователь получает сообщение, как правило, в том виде, в котором его написал создатель проверки.
Исключение составляют проверки табличных частей - там автоматически выводится название ТЧ и номер строки.
11. asved.ru 36 03.07.14 10:54 Сейчас в теме
Идея хорошая.

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

И еще вопрос по производительности: чтение правил проверки для объекта производится в транзакции записи объекта или предварительно?
15. 1c-intelligence 12849 04.07.14 06:52 Сейчас в теме
(11) asved.ru, хорошо что вы спросили - появился повод обновить описание и раскрыть тему производительности. Прошу вас почитать, что я там написал (раздел Производительность).

Исходя из того, что при записи одного объекта выполняется, как правило, один запрос, количество проверок роли не играет.
Обычно речь идет о единицах, иногда - о десятых долях процента.
Разумеется, когда речь идет об объекте, который сам по себе очень быстро записывается, процент может вырасти. Например, справочник Валюты.
17. 1c-intelligence 12849 04.07.14 07:25 Сейчас в теме
(11) asved.ru, забыл ответить про чтение правил проверки. Да, правила читаются в транзакции записи, и проверка выполняется там же. Конкретно речь идет о событии ПриЗаписи.

Для ускорения этого процесса добавлен специальный регистр сведений, чтобы не обращаться к справочнику. В регистре хранится уже максимально подготовленная информация для обработки, чтобы не было дополнительных обращений к БД.
В итоге чтение правил занимает 1-2 мс. При проведении документа 1-2 мс - это десятые доли процента времени проведения.
12. Evgen.Ponomarenko 568 03.07.14 10:55 Сейчас в теме
Часто встречаешься с ситуацией, когда правила должны применяться с определенной даты или по более сложному условию. Есть такая функция?
purgin; RayCon; +2 Ответить
16. 1c-intelligence 12849 04.07.14 07:06 Сейчас в теме
(12) Evgen.Ponomarenko, такое сделать, разумеется, можно - проверку любой сложности, с которой справится СКД.

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

Конечно, бывают варианты, когда надо ограничить не по дате документа, а по дате исполнения проверки - очень редко, правда. В этом случае в вашем распоряжении вся мощь СКД. Можно включить в нее параметр, вычисляемый выражением ТекущаяДата(), и опираться на него в отборах. Но, повторю, на практике это бывает очень редко.
Прикрепленные файлы:
18. Igorro82IT 77 04.07.14 11:31 Сейчас в теме
1c-intelligence, действительно хорошая идея.
Протестировав продукт, хочу сказать следующее:
1)За период тестирования непредвиденных ошибок не было (важно квалиифицированно использовать СКД),
2)предлагаю разделить на лёгкий вариант (без измерений производительности)и чуть дешевле(для нетребовательных заказчиков) и полный, представленный в данном варианте,
3)Предусмотреть видео-инструкцию с примерами реализаций сложных проверок (опционально), т.к. нельзя исключать вариант примением функционала не разработчиками 1С, а Гл.бухами.
4)решение безусловно важное и оправдывает свою стоимость для желающих навести порядок в учете.
19. 1c-intelligence 12849 04.07.14 12:01 Сейчас в теме
(18) IgorroPadavan, спасибо что заглянул.
Для коллег поясню - Игорь как раз с того предприятия, на примере которого инструмент разрабатывался и обкатывался в течение нескольких месяцев.

Насчет разделения подумаю.
20. comol 5107 04.07.14 12:24 Сейчас в теме
Коллеги, так делать НЕЛЬЗЯ!!!!

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

Проверки движений должны выполняться в транзакции проведения. С расстановкой необходимых управляемых и не управляемых блокировок, с контролем последовательности чтения и записи. Ну и уж конечно БЕЗ СХЕМ СКД В ТРАНЗАКЦИИ!

У нас была такая штука в своё время разработанная "умельцами" из какого-то франчайзи... Столько оно проблем несёт при многопользовательской работе...
alres; Sitex; nixel; Светлый ум; +4 Ответить
21. 1c-intelligence 12849 04.07.14 12:34 Сейчас в теме
(20) comol, расскажите, пожалуйста, поподробнее, какие системные механизмы порушатся, если выполнить запрос при записи справочника или документа?
Andreeei; +1 Ответить
23. asved.ru 36 04.07.14 19:06 Сейчас в теме
(20) comol, Вы не могли бы пояснить, чем Вам так не нравится использование функционала СКД по генерации запроса на основании пользовательских настроек в транзакции в режиме управляемых блокировок, или, тем паче, на read_committed_snapshot? А то сдается мне, звон Вы слышали, а где он - не знаете.
24. asved.ru 36 04.07.14 19:09 Сейчас в теме
(20) comol, о, и как Вы поставите "необходимую неуправляемую блокировку", тоже расскажите. Очень интересно.
28. zqzq 25 07.07.14 08:39 Сейчас в теме
(20) comol,
Согласен, рекомендуется проверки реквизитов делать в обработке проверки заполнения объекта - он вызывается при интерактивной записи (проведении) из формы вне транзакции. И заодно не будет проблем при групповом перепроведении документов (зато могут быть проблемы при групповой обработке, если не вызывается программно ПроверитьЗаполнение()).
29. 1c-intelligence 12849 07.07.14 09:17 Сейчас в теме
(28) zqzq, обработку проверки заполнения я пытался использовать. Все прекрасно, кроме одного - проверка запросом не будет работать, т.к. на момент проверки заполнения изменения в базу не записаны.
Есть обходной вариант - передавать реквизиты в СКД через таблицу значений, и работать с ним. Но этот вариант значительно снижает быстродействие.
30. 1c-intelligence 12849 07.07.14 10:32 Сейчас в теме
(28) zqzq, а для группового изменения/проведения добавлена возможность отключения проверок для конкретного пользователя.
Также, как есть возможность массового выполнения проверок для документов и справочников.
63. МирославаЯсная 12.11.15 08:37 Сейчас в теме
(30) искала где отключать проверки. Нашла :-) Спасибо еще раз!
Прикрепленные файлы:
65. 1c-intelligence 12849 12.11.15 09:27 Сейчас в теме
(63) МирославаЯсная, на всякий случай добавлю, что там есть справка, я постарался сделать ее максимально понятной.
МирославаЯсная; +1 Ответить
22. trand 04.07.14 17:51 Сейчас в теме
На предприятии, на котором тестировался продукт, кто настраивал права? Пользователь, руководитель, программист?
Если программист, то почему нельзя было сделать это в конфигураторе.
Если руководитель, то руководитель чего? Откуда ему известно, что нужно заполнять, а что нет для функциональности системы?
25. 1c-intelligence 12849 04.07.14 22:37 Сейчас в теме
(22) trand, о правах речи не идет - их проверка данных не касается. Настройка проверок доступна только с полными правами.

Технически настройка велась и ведется программистом/администратором системы - как единственным человеком с полными правами. Но придумывали проверки несколько человек, которых можно назвать самыми толковыми. Обычно это делается не разово, а при обнаружении какой-то систематической ошибки.
Например, при закрытии обнаруживается, что иногда передают вспомогательные материалы по статье ОПР на счет 25 - не по злому умыслу, а по невнимательности, "хотя и было говорено так не делать". Делаем проверку - и все, забываем навсегда об этой проблеме.
26. ShantinTD 91 05.07.14 00:07 Сейчас в теме
1c-intelligence, а никакого триального периода (3-5 дней) не предвидится? А то выглядит заманчиво, да может статься, что кто-то ну вообще не извлечет из этого для себя ничего полезного.
27. 1c-intelligence 12849 07.07.14 06:51 Сейчас в теме
(26) ShantinTD, я подумаю насчет триального периода, спасибо.
33. 1c-intelligence 12849 14.07.14 08:47 Сейчас в теме
(26) ShantinTD и все коллеги - опубликована триальная версия, со сроком действия до 31.07.2014 г.
31. 1c-intelligence 12849 09.07.14 08:31 Сейчас в теме
Продолжаем развитие инструмента. Тут обсуждали использование события ОбработкаПроверкиЗаполнения - решил дать возможность его опционального использования.
Как единственный вариант не подойдет, т.к. проверка заполнения не выполняется при неинтерактивном проведении документов и записи справочников.
Ну и в некоторых случаях может снижаться производительность, т.к. требуется передача объекта в запрос в виде таблицы значений.
Но опционально будет.
32. 1c-intelligence 12849 09.07.14 08:38 Сейчас в теме
Один из партнеров, тестирующих NFR-версию, предложил несколько доработок, которые войдут в следующий релиз:

1. Когда выводятся сообщения об ошибках, надо бы в начале сделать заголовок, к какому документу относится сообщение, как в типовых конфигурациях.
Пример:
"Проведение документа: Передача оборудования в монтаж РР000032 от 03.06.2014 9:00:00
В строке номер "3" табличной части "Оборудование": Не заполнено значение реквизита "Документ оприходования"! "
2. Причесать оформление страницы с настройками, сделать его интуитивно понятным. Сейчас понятно только после чтения справки;
3. Дать возможность опционально выполнять проверку в привилегированном режиме. Сейчас в привилегированном режиме читаются только сами проверки, а выполнение идет под правами пользователя. Иногда бывает потребность в проверке использовать недоступные для пользователя данные, поэтому такая возможность нужна.
34. 1c-intelligence 12849 19.08.14 13:17 Сейчас в теме
Обновлена триальная версия, теперь со сроком действия до 31.08.2014 г.
35. 1c-intelligence 12849 26.08.14 11:30 Сейчас в теме
Добавлено видео по созданию "сложных" проверок с ручным редактированием запроса - см. в конце статьи.
71. МирославаЯсная 16.03.16 09:27 Сейчас в теме
(35) не нашла, видео. "Ткните носом", пожалуйста) Спасибо!
72. 1c-intelligence 12849 16.03.16 11:40 Сейчас в теме
(71) МирославаЯсная, ага, куда-то пропало видео.
Вот ссылка: http://www.youtube.com/watch?v=_RFhQDnsDBw
МирославаЯсная; +1 Ответить
74. МирославаЯсная 17.03.16 08:41 Сейчас в теме
36. 1c-intelligence 12849 29.08.14 10:03 Сейчас в теме
По просьбе одного из покупателей добавлена отдельная версия без использования модальности.
Пока будет идти отдельно, т.к. конструкции языка, применяемые для немодальной работы, недоступны в более старых версиях платформы - в той же 8.2.
37. 1c-intelligence 12849 29.08.14 10:54 Сейчас в теме
Обновил файл с триальной версией, ограничение по сроку теперь до 30.09.2014 г.

Также, в предыдущей триальной версии (которая до 31.08.2014 г.) была допущена ошибка - не обновил дату ограничения, в результате чего проверки не выполнялись. Приношу извинения тем, кто скачал триальную версию в августе и при необходимости готов выслать обновленный триал, чтобы не тратить sm - пишите мне в комментариях или в личку.
38. 1c-intelligence 12849 19.11.14 11:03 Сейчас в теме
Выложил обновленную версию:
1. Исправлены некоторые скрытые недочеты;
2. Появилась возможность делать проверки, которые будут действовать только для новых объектов, которые записываются впервые.

Благодарю пользователей, купивших и внедривших у себя проверку данных за качественную обратную связь. Сейчас продано более 10 копий, по разным каналам.
Конфигурации, в которых работает проверка данных: УПП 1.3, БП 2.0, УНФ 1.4, есть самописанные конфигурации.
39. 1c-intelligence 12849 24.11.14 10:35 Сейчас в теме
Посмотрел топ продаж - оказывается, "Проверка данных" на первом месте по продажам за полгода. За год входит в топ-10. За весь период продаж - пока на 31 месте. Что ж, есть пока куда стремиться.
41. FFelix 497 27.11.14 13:13 Сейчас в теме
С доп.реквизитами эта штука работает? Реальную пользу вижу только если пользователь сам добавил доп.реквизит и сам же добавил контроль на его заполнение.
Уточню - полезно будет, если эта штука будет работать с доп.реквизитами на базе БСП. Тогда она будет неоценима для всех новых решений 1С.
42. 1c-intelligence 12849 27.11.14 13:27 Сейчас в теме
(41) FFelix, доп.реквизиты - это нетиповые реквизиты, добавленные в объект через конфигуратор?
Или какой-то прикладной механизм, типа свойств?
43. FFelix 497 27.11.14 13:33 Сейчас в теме
Уточню: полезно будет, если эта штука будет работать с доп.реквизитами на базе БСП. Тогда она будет неоценима для всех новых решений 1С, включая УТ11, ERP и т.д.
Я бы купил её, для своего прошлого проекта по УТ))
44. 1c-intelligence 12849 27.11.14 14:16 Сейчас в теме
(43) FFelix, теперь понятно. Механизм доп. реквизитов аналогичен механизму свойств, который в УТ 10.3 и УПП 1.3.
Определенные проверки по этим механизмам "Проверка данных" позволяет делать уже сейчас, но есть одно ограничение, связанное со спецификой механизма: невозможно сделать проверку доп. свойств (или реквизитов), пока объект-носитель не записан. А когда объект записан, проверять уже поздно, т.к. пользователь просто закроет форму, и проверка не инициируется.

В УПП 1.3 еще как-то выкрутиться можно, т.к. там на прикладном уровне реализована "одновременная" (с т.зр. пользователя) запись и нового объекта, и его свойств.

Но, я думаю, решение будет найдено.

На своих внедрениях я для таких задач использую механизм "Автозадачи", коробочная версия которого сейчас проходит бета-тестирование. Там нет привязки к записи объекта. Правда, и запретов нет.
45. FFelix 497 27.11.14 16:57 Сейчас в теме
(44) не уверен, но в БСП (УТ, ERP) кажется запись доп.реквизитов тоже происходит одновременно с объектом.
Всё-таки, их подключение в ваш механизм сделает его на порядок полезнее, имхо
46. 1c-intelligence 12849 27.11.14 20:18 Сейчас в теме
(45) FFelix, я специально проверил на УТ 11 - не дает редактировать доп.реквизиты до записи объекта. Проверял на демобазе, в справочнике номенклатуры.

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

В любом случае, спасибо за направление развития инструмента.
47. YanTsys 12 09.12.14 10:40 Сейчас в теме
Некорректное название "Онлайн", под этим обычно понимается необходимость подключения к Интернет, вы распугиваете потенциальных клиентов подразумевающих что им куда-то придется передавать свои данные, бухгалтер просто не имеет права разглашать информацию, есть более подходящие слова, "динамическая проверка", "проверка времени исполнения", "интерактивная проверка", и т.п.
ponaroshku; +1 Ответить
48. 1c-intelligence 12849 10.12.14 11:57 Сейчас в теме
(47) YanTsys, спасибо за замечание. Внес изменения в описание.
49. 1c-intelligence 12849 16.12.14 21:46 Сейчас в теме
Выложена обновленная версия, доработанная по запросу одного из клиентов.

Расширены возможности отключения проверок.

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

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

Теперь такая возможность есть.
50. Atrika-96 36 27.02.15 05:32 Сейчас в теме
Весьма интересная разработка, спасибо.
Мы только что встроили в ЗУП 2.5 и сразу возник вопрос: а существует ли возможность установить проверку на регистры сведений (с независимым режимом записи), план счетов, план видов расчетов, план видов характеристик?
51. 1c-intelligence 12849 27.02.15 08:25 Сейчас в теме
(50) Tany_SH, такой возможности сейчас нет - просто не было таких задач. Если вам нужно проверять такие объекты, я добавлю возможность.
52. Atrika-96 36 09.03.15 05:47 Сейчас в теме
(51) такая возможность очень нужна, буду весьма признательна за добавление!
Спасибо за разработку! Очень удобно "на лету" менять права доступа к объектам и проверять правильность заполнения.
Впервые применили эту настройку в базе данных, которая получилась в результате слияния 7 баз различных юридических лиц. С помощью проверки данных решили 2 основные проблемы, которые возникли при начале работы в программах: корректность заполнения полей в документах/справочниках и разрешение на изменение или добавление данных только ответственными лицами. Только благодаря проверке данных удалось остановить бесконтрольное разрастание дублей и привести к стандарту ввод первичных данных.
Простая настройка проверки очень простая и интуитивно понятна, поэтому главный бухгалтер или руководитель отдела легко справляются с ней самостоятельно - и очень довольны, что никого просить не нужно.
Сейчас проверка встроена во все наши базы, не представляю как мы без нее обходились раньше))
Спасибо огромное!
МирославаЯсная; sorb; 1c-intelligence; +3 Ответить
53. Aletar 19.10.15 15:15 Сейчас в теме
Скажите, а работает только проверка данных или есть возможность установки нужных реквизитов объетков?
54. 1c-intelligence 12849 20.10.15 06:47 Сейчас в теме
(53) Aletar, конкретно в этом решении возможности установки реквизитов нет.
Оно есть в решении Автоопределитель, я о нем рассказывал на конференции IE 2015. Оно пока не опубликовано.
55. Aletar 20.10.15 11:32 Сейчас в теме
Скажите, а решение "Автоопределитель" можно как-то приобрести?
56. 1c-intelligence 12849 21.10.15 10:35 Сейчас в теме
(55) Aletar, вы прям приобрести хотите? Или вам рассказать суть и вы сами воспроизведете?
Оно просто не готово к продаже, т.к. создавалось под внутренние требования.
57. Aletar 22.10.15 12:06 Сейчас в теме
(56) расскажите суть, я думаю это не только мне будет интересно.
58. 1c-intelligence 12849 28.10.15 11:43 Сейчас в теме
(57) Aletar, вот суть

Идея информатора развилась в новую тему - автоматическое заполнение реквизитов объектов. Рабочее название - автоопределитель.

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

Как настраивается автоопределитель:

1. Выбирается объект (например, табличная часть "Товары" документа "Реализация товаров и услуг");
2. Описываются условия для автозаполнения (например, Номенклатура в папке Продукция);
3. Указываются реквизиты, которые надо заполнить, и их значения (например, счет учета БУ = 43 и счет учета НУ = 43).

Главная фишка в том, что п.2 и п.3 описываются в виде таблицы, что позволяет делать последовательный перебор условий. Значения реквизитов при этом ставятся в соответствии с тем условием, которое выполнилось. Отбор, разумеется, СКДшный, что позволяет сравнивать реквизиты объекта как с абсолютными значениями, так и друг с другом (или, например, с реквизитами документа-основания).

Больше всего это похоже на настройку условного оформления отчетов. Там тоже можно сделать несколько оформлений одного элемента, в зависимости от разных условий. Например, если сумма <100, то цвет красный, если от 100 до 1000, то желтый, если больше 1000, то зеленый.

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

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

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

Срабатывать автоопределители будут двумя способами, в зависимости от настроек:

1. Перед записью объекта - это железобетонные автоопределители, которые должны обязательно выполняться;
2. Интерактивно в форме объекта, по кнопке. На форму выводится подменю со всеми доступными автоопределителями, у которых настроен доступ через интерфейс. Это примерно как подключаемые обработки табличных частей.
59. 1c-intelligence 12849 28.10.15 11:44 Сейчас в теме
Если наберется достаточно желающих - выделю автоопределитель в отдельную конфигурацию и сделаю публикацию.
Smirnov1980; gubanoff; МирославаЯсная; xsnort; South; +5 Ответить
80. МирославаЯсная 30.03.16 15:08 Сейчас в теме
(59) очень бы хотелось посмотреть "автоопределитель". Заранее благодарна.
82. 1c-intelligence 12849 01.04.16 14:47 Сейчас в теме
(80) МирославаЯсная, он в очереди стоит. Сейчас я дорабатываю проверку данных.
83. МирославаЯсная 04.04.16 11:23 Сейчас в теме
(82) спасибо! будем ждать)
84. МирославаЯсная 05.04.16 09:59 Сейчас в теме
(82) подскажите, пожалуйста, настроена проверка, затем вносятся изменения в структуру справочника (например, удаляется реквизит) и при попытке открытия проверки из справочника "Проверяемые объекты" 1с вылетает с ошибкой - "Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: Поле не найдено". Возможны ли какие-то варианты решения? Спасибо!
85. 1c-intelligence 12849 05.04.16 10:02 Сейчас в теме
(84) МирославаЯсная, такое бывает, увы. Посмотрю, что можно сделать.
МирославаЯсная; +1 Ответить
86. МирославаЯсная 05.04.16 11:18 Сейчас в теме
87. МирославаЯсная 06.04.16 21:40 Сейчас в теме
(85) у меня еще вопрос :-) как в сложной проверке по ВТ срез последних установить период равным дате проверяемого документа? Спасибо!
60. МирославаЯсная 10.11.15 14:11 Сейчас в теме
Подскажите, пожалуйста, в Вашем примере - проверка на заполнение ответственного (ответственный не заполнено), какое надо ввести условие, чтобы эта проверка действовала только по некоторым организациям? Организация в списке? И все это одной строкой? Спасибо!
61. 1c-intelligence 12849 10.11.15 20:50 Сейчас в теме
(60) МирославаЯсная, вы все правильно пишете - надо делать одну строку в таблице Проверки, и в отборе указать "Ответственный не заполнено И Организация В Списке <список организаций>". На всякий случай прикладываю скриншот.
Прикрепленные файлы:
62. МирославаЯсная 12.11.15 08:30 Сейчас в теме
(61) спасибо! За продукт и за ответ :-)
64. BSV 12.11.15 09:12 Сейчас в теме
Доброго времени суток, есть вопрос. Мне надо проверить заполнение контактных данных элемента справочника "Контрагенты", к примеру "Юр.адрес контрагента", добавил в набор данных это поле из регистра сведений "Контактная информация" через СКД,, прописал проверку на заполнение, но проверка осуществляется не правильно, я так понимаю, из-за того, что на момент проверки, данные еще не записаны в регистр сведений из табличного поля на форме элемента. В этом случае, что-то можно сделать? или я что-то неправильно делаю в настройках проверки?
66. 1c-intelligence 12849 12.11.15 09:31 Сейчас в теме
(64) BSV, увы, такую проверку в общем случае не сделать, т.к. контактная информация хранится в отдельном регистре сведений и при первой записи контрагента ее там просто не может быть. Если запись не первая, то уже зависит от логики конкретно справочника контрагенты. Если, например, при записи контрагента идет полная перезапись набора регистра сведений, то проверка тоже не поможет.
Та же проблема, например, со свойствами и категориями.
67. BSV 12.11.15 10:39 Сейчас в теме
1c-intelligence, спасибо за ответ, я в общем так и думал - но втайне надеялся, что не прав :)
68. 1c-intelligence 12849 04.03.16 10:47 Сейчас в теме
Вышла обновленная версия.
Добавлен учет срабатывания проверок. Когда срабатывает какая-либо проверка, то информация об этом записывается в регистр сведений.
Сохраняется дата срабатывания, имя пользователя и текст сообщения.

Для анализа срабатывания проверок за период добавлен отчет "Эффективность проверок". Отчет показывает, какие проверки, у каких пользователей срабатывали в течение периода.

В отчете два предопределенных варианта - "По проверкам" и "По объектам".

Отчет может использоваться для разных целей.

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

Или проанализировать, на каких объектах (документах, справочниках) проверки срабатывают чаще всего и понять, почему так происходит - возможно, объект проверки слишком сложен для пользователей, и ошибки при его заполнении неизбежны.
69. dj_serega 393 04.03.16 14:43 Сейчас в теме
Вопросы по
Можно на время отключить проверки для определенных пользователей. Например, для группового перепроведения документов;

1. А можно ли настроить проверки для списка пользователей?
Пользователь1 - 4 проверки
Пользователь2 - 2 проверки
Пользователь5 - нет проверок.

2. А можно ли настроить проверки по ролям?

Если такого нет, то доработать самому получится? (не сильно ломая механизм).
70. 1c-intelligence 12849 04.03.16 18:38 Сейчас в теме
(69) dj_serega, сейчас настроить проверки по ролям можно только косвенными методами - сделать проверку сложной, и в схеме компоновки вычислять текущего пользователя. Это делается несложно, через параметры и использование функции глЗначениеПеременной("глТекущийПользователь"). Но этот метод косвенный, не очень удобный.

Мне нравится идея задавать конкретный список пользователей или ролей, я добавлю это в конфигурацию. Спасибо.
100. dj_serega 393 14.12.16 12:16 Сейчас в теме
(70)А добрый день :) Еще не пришло время новой версии конфигурации? :-))
102. 1c-intelligence 12849 15.12.16 09:28 Сейчас в теме
(100) конечно пришло, и прошло уже давно :)
Может в новогодние каникулы получится.
103. dj_serega 393 15.12.16 10:30 Сейчас в теме
(102) Просто в публикации нет инфы о моем предложении. Вот и спросил.
Вот-вот будем скачивать себе и адаптировать. О результатах доработок опишусь ;)
Спасибо за хороший и интересный продукт.
73. Synoecium 785 16.03.16 12:39 Сейчас в теме
Используем эту разработку в рабочей базе уже пару месяцев, очень удобно настраивать, просто внедрять. Автору плюс.
75. TapeFiver 22.03.16 06:19 Сейчас в теме
А в данной проверке реально сделать при каком-то условии запрет на изменение реквизита не нового элемента справочника?
76. 1c-intelligence 12849 22.03.16 06:46 Сейчас в теме
(75) TapeFiver, запрет действует на весь объект целиком при определенных условиях, которые задаются отбором.

Кажется, вы имеете в виду, можно ли сравнивать старое и новое значение реквизита?
77. TapeFiver 22.03.16 07:09 Сейчас в теме
(76) да именно это имею в виду. Посмотрел видео из (72) и почему-то подумал что "ОбъектПроверки" и элемент справочника в запросе будут как "ЭтотОбъект" и "Ссылка" в процедуре ПередЗаписью.
78. 1c-intelligence 12849 22.03.16 07:40 Сейчас в теме
(77) TapeFiver, сейчас такой возможности нет. У меня есть адаптированная под одно предприятие версия, там такое есть - можно использовать реквизиты объекта до записи.
Добавлю в текущую версию и выложу, спасибо за предложение.
МирославаЯсная; TapeFiver; +2 Ответить
79. TapeFiver 24.03.16 11:39 Сейчас в теме
(78) А есть пример проверки на заполненность свойства номенклатуры или контрагента? Пробовал и так и эдак, не смог победить. Прочитав (44) понял что вы пишете что как-то выкрутиться можно, но я реально в тупике.
УТ 10.3
81. 1c-intelligence 12849 01.04.16 14:46 Сейчас в теме
(79) TapeFiver, выкрутиться лучше всего доработкой конфигурации, т.к. заполненность свойств, например, номенклатуры, выполняется через вывод табличной части подчиненной обработки на форму номенклатуры. Запись свойств выполняется при записи номенклатуры в форме.
Соответственно, перед вами и таблица свойств и их значений (ТЧ обработки), и контекст записи номенклатуры, а значит - и возможность в этом контексте остановить запись при незаполненных свойствах.
Могу помочь, если надо.
118. TapeFiver 11.02.17 12:12 Сейчас в теме
Иван, если я не пропустил релиз, то хотелось бы фичу из (78)
Оставьте свое сообщение