1с обработка создать отбор контрагентов
При работе с программами 1С пользователи часто сталкиваются с проблемой дублирования контрагентов. Данная проблема приводит к таким последствиям:
- Путаница с документами контрагентов, т.к. пакет документов может быть разбит между контрагентами-дублями.
- Фиктивный рост справочника «Контрагенты».
Основными причинами появления дублей являются:
- Выполнение обмена данными между базами, используя автоматическую выгрузку через планы обмена.
- Использование различных загрузок, при которых не проводится проверка на наличие дублей.
- Человеческий фактор, например, заведение нового контрагента после неудачного поиска.
В качестве профилактических работ периодически необходимо проводить проверку базы на наличие дублей контрагентов. Для исправления создания дублей в справочнике «Контрагенты» необходимо воспользоваться типовой обработкой «Поиск и удаление дублей». Данная обработка доступна только для пользователей с правами Администратора, она предназначена для поиска и устранения дублирования элементов во всех списках программы.
Обработка позволяет найти все дублирующие элементы контрагентов и производит замену всех ссылок. В документах подставляются ссылки на выбранный «правильный» элемент. Дублирующиеся элементы в списке помечаются на удаление.
Рассмотрим пример работы обработки «Поиск и удаление дублей» на конфигурации 1С:Управление торговлей 11.4. Эта обработка также доступна и в других конфигурациях 1С.
Для запуска обработки Пользователь с правами Администратора переходит из раздела «НСИ и администрирование» / «Администрирование» в раздел «Обслуживание».
Рисунок 1 — Раздел «НСИ и администрирование»
В строке «Корректировка данных» выбирает обработку «Поиск и удаление дублей».
Рисунок 2 — Раздел «Обслуживание»
В открывшемся окне обработки «Поиск и удаление дублей» Администратор заполняет указанные поля:
- Искать — в списке выбора указать справочник «Контрагенты».
- Отбирать — по умолчанию указано «Все элементы». При необходимости, пользователем создаются правила отбора элементов списка.
Например, необходимо отбирать только по юридическим лицам. Для этого в окне «Правила отбора «Контрагенты»» выбирается:
- поле, по которому будет производится отбор;
- указывается вид сравнения;
- задается значение для отбора.
Рисунок 3 — Форма Правила отбора «Контрагенты»
Для выбора, что нужно сравнить, Пользователь переходит по ссылке в поле «Сравнить». В открывшемся окне «Правила поиска дублей «Контрагенты»» указывает необходимое поле и правило отбора.
Рисунок 4 — Форма Правила поиска дублей «Контрагенты»
После того как условия поиска дублей заданы, Пользователь нажимает кнопку «Найти дубли».
Рисунок 5 — Обработка «Поиск и удаление дублей»
После выполнения поиска откроется список найденных дублей. Он состоит из двух частей. В левой части отображаются найденные повторяющиеся элементы справочника «Контрагенты» и количество объектов использования, в правой — места использования найденных дублей. Внизу указывается количество элементов и количество найденных дублей.
Рисунок 6 — Список найденный дублей контрагентов
Один из найденный элементов автоматически выбирается как оригинал и отображается флажком . Второй элемент отмечается дублем, со знаком .
Для того, чтобы изменить элемент, который необходимо оставить в программе, Пользователь выбирает в контекстном меню строку «Отметить как оригинал». Рекомендуется выбирать оригиналом элемент, у которого больше мест использования.
Рисунок 7 — Форма обработки «Поиск и удаление дублей»
Пользователь проверяет список найденных элементов. Если в списке отражены не дублирующиеся элементы контрагентов, снимает с них отметку. Эти элементы не будут принимать участие в процедуре удаления дублей.
Рисунок 8 — Обработка найденных элементов контрагентов
Далее Пользователь нажимает кнопку «Удалить дубли». Выбранные дубли будут помечены на удаление и заменены на оригиналы во всех перечисленных документах.
Рисунок 9 — Удаление дублей
Рисунок 10 — Завершение процесса объединения дублей
Окончательно удалить дубли контрагентов можно используя обработку «Удаление помеченных объектов» в разделе «Администрирование / Обслуживание».
Рисунок 11 — Обработка «Удаление помеченных объектов»
Рекомендуется периодически проверять заполнение справочников для избежания путаницы в учете и очистки информационной базы. Это позволит оптимизировать трудовые и финансовые затраты на поддержку системы.
Как удалить контрагента в 1с
__________________
«Двигайтесь дальше несмотря ни на что».
"Чем сильнее зверь, тем он спокойнее. " или так : чем спокойней зверь, тем он сильнее.
__________________
«Двигайтесь дальше несмотря ни на что».
"Чем сильнее зверь, тем он спокойнее. " или так : чем спокойней зверь, тем он сильнее.
Тема: Не получается удалить контрагентов в справочнике!
Не получается удалить контрагентов в справочнике!
Аналогичная проблема.
Спец.утилитой chdbfl.exe так же не помогло.
БД файловая.
Что еще делал:
1. Чистил КШ
2. Выгрузка-Загрузка БД
3. Создавал другого пользователя БД
4. Установил последнюю 8.2.19.106, только что не перевел на 8.3
5. Поставил последний релиз БП Проф 2.0.62.4
щас пробую ТиИ, что там покажет интересно.
———- Post added at 12:02 ———- Previous post was at 11:50 ———-
Результата нет, даже после ТиИ.
Какую-то информацию полезную ТиИ не показал.
Создали обработку, через DBF файл обмен. РС "СоответствияОбъектовДляО� �мена" не исп-ся.
———- Post added at 12:43 ———- Previous post was at 12:43 ———-
Также заносятся вручную в БП
———- Post added at 12:47 ———- Previous post was at 12:43 ———-
Поставил 8.3 так же без результатно
———- Post added at 13:34 ———- Previous post was at 12:47 ———-
Косяк релизов.
Общий модуль ОбменДаннымиСобытияБП процедура ОбменДаннымиОбменУправлен иеТорговлейБухгалтерияПре дприятияПередЗаписьюРегис тра() срабатывает при записи РегистраСведений "Контактная информация".
———- Post added at 13:39 ———- Previous post was at 13:34 ———-
Срабатывает при подписке на событии "ОбменДаннымиОбменУправле� �иеТорговлейБухгалтерияПр� �дприятияПередЗаписьюРеги� �тра"
Нередко программистам для написания обработок приходилось использовать запросы для получения данных и последующей их обработке. Данные в свою очередь, получались из запроса. Ну а запрос без отбора или фильтра это редкость. Поговорим об отборах в таких запросах, на примере запроса:
Для того, чтобы организовать отбор по контрагенту для пользователя в обычной форме, программисту приходилось размещать три элемента на форме, что выглядело примерно так:
Сколько трудов стоит описать программисту разные виды сравнения (равно, не равно, в списке, в группе…) и исходя из этих видов сравнения дорабатывать свой конечный запрос получения данных.
Рассмотрим, как это можно сделать при помощи СКД. Создадим в нашей обработке Макет с типом Схема компоновки данных и заполним его нашим запросом:
На вкладке Настройки добавим новую группировку без детализации и, в нашем примере, поле Контрагент, так как в итоге мы получим все в таблицу значений:
И на вкладке Отбор добавим в отбор Контрагента:
Далее в самой обработке создадим реквизит Компоновщик типа КомпоновщикНастроекКомпоновкиДанных:
Теперь займемся оформлением формы. Выведем на форму самой обработки Отбор, с которым будет работать пользователь. На форму выведем элемент типа Табличное поле и дадим ему имя Отбор с типом данных Компоновщик.Настройки.Отбор:
Далее ниже выведем эелемент Табличное поле с именем Результат и типом ТаблицаЗначений и кнопку Выполнить, по которой и будем выводить таблицу с контрагентами:
Теперь создадим обработчики событий формы ПриОткрытии и обработчик нажатия кнопки Выполнить, код представлен ниже:
Обработка готова, запустив ее, можно при запуске сразу увидеть в нашем Отборе появившегося Контрагента, у которого можно выбирать любой тип сравнения, а также и добавлять дополнительные строки отбора по реквизитам справочника Контрагенты:
На этом все, надеюсь, данная статья поможет Вам улучшить гибкость отборов в Ваших обработках.
Для установки отбора используется свойство "Отбор" у менеджеров списков объектов, например, для открытия списка договоров определенного контрагента можно написать следующий код:
В данном случае мы применили вид сравнения "Равно", но не указывали его т.к. оно стоит по умолчанию. Используя разные значения вида сравнения мы значительно расширяем возможности.
Например, у нас в базе контрагент является и продавцом и покупателем, при этом договоры находятся в соответствующей группе внутри справочника. Поэтому мы сделаем отбор не только на самого контрагента, но и на группу "Группа Покупатели" в которой находится договор:
Похожие FAQ
Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 10
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки " Универсальный обме Внешние обработки, печатные формы, обработки по заполнению табличных частей 3
Справочник «Внешние обработки, печатные формы, обработки по заполнению табличных частей» содержит список произвольных обработок, произвольных отчетов, дополнительных печатных форм, обработок для заполнения ТЧ объектов, обработок, подключаемых к отч Восстановление партионного учета в УТ 1
Проблема следующая: при выполнении стандартной обработки " проведение по партиям" , непонятно почему, но граница актуальности партионного учета не сдвигается, хотя при перепроведении документов никаких ошибок не возникает. Оказывается: дата гр Выборка (перебор) бизнес-процессов 0
Выбрать( , , , ) отбора отбора (необязательный) - Структура. Задает реквизит вида расчета и значение этого реквизита, по которому будет создана выборка. Ключ структуры задает имя реквизита, а значение структуры - значение отбора по этому рекви Посмотреть все результаты поиска похожих
Рассмотрим на примере отбора списка контрагентов в управляемой форме внешней обработки.
В форму добавляем реквизит "ОтборКонтрагентов" типа "КомпоновщикНастроекКомпоновкиДанных".
Размещаем созданный реквизит на форме перетаскиванием поля КомпоновщикНастроекКомпоновкиДанных.Отбор на форму:
Для красоты дополнительно:
- Указываем заголовок "Контрагенты"
- Указываем положение заголовка "Верх"
- Указываем положение командной панели "Нет"
В конструкторе поле выглядит так:
Добавляем в макеты внешней обработки новый макет с типом схема компоновки данных "СКД_Контрагенты":
Источником данных будет запрос:
Отборов на форме может быть несколько, поэтому для удобства программиста все они называются Ссылка, а вот для удобства пользователя нужно назначить для ссылки представление, для этого ставим галочку и вводим название поля для пользователя "Контрагент":
Больше ничего в схеме компоновки не заполняем.
Теперь нужно привязать компоновщик настроек к схеме компоновки:
После этого настройки отображаются на форме в требуемом виде:
Чтобы получить список выбранных пользователем контрагентов, используем следующий код, который можно вставить в какую-нибудь серверную процедуру обработки команды:
Обращаю ваше внимание, что перед компоновкой в таблицу значений вызывается функция, которая в структуру настройки устанавливает группировку из единственной колонки "Ссылка". Можно было бы эту группировку нарисовать и вручную, но зачем, если можно автоматизировать.
В итоге в МассивКонтрагентов будет искомый перечень контрагентов.
Код используемых функций:
Реализация в обычных формах
Рассмотрим на примере отбора магазинов.
Добавляем в реквизиты реквизит "Компоновщик_Магазины" с типом "КомпоновщикНастроекКомпоновкиДанных".
Аналогично УФ заполняем макет "СКД_Магазины" с запросом:
Размещаем на форме табличное поле с данными "Компоновщик_Магазины.Настройки.Отбор".
В модуле объекта добавляем глобальную переменную мСКД_Магазины.
Для установки отбора используется свойство "Отбор" у менеджеров списков объектов, например, для открытия списка договоров определенного контрагента можно написать следующий код:
В данном случае мы применили вид сравнения "Равно", но не указывали его т.к. оно стоит по умолчанию. Используя разные значения вида сравнения мы значительно расширяем возможности.
Например, у нас в базе контрагент является и продавцом и покупателем, при этом договоры находятся в соответствующей группе внутри справочника. Поэтому мы сделаем отбор не только на самого контрагента, но и на группу "Группа Покупатели" в которой находится договор:
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C медленно работает по сети с базой на SQL Server 20
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем 1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ; Посмотреть все результаты поиска похожих
Еще в этой же категории
Как обновить динамический список или реквизит на форме клиента? 22
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Динамический список ~ Как на управляемой форме разместить список регистра сведений с отбором? 18
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Как установить параметр динамического списка? 16
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма ~ Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора ~ Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами
Читайте также: