Изменение справочников и документов запросом определенного формата
Задачи пользователя - Корректировка данных
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Принцип работы следующий. Выполняется стандартный запрос 1С. Далее результат запроса обрабатывается функцией, которая изменяет данные в соответствии со следующей логикой:
При обновлении/загрузке справочников/документов:
- В запросе должно быть поле с именем "Ссылка". По нему обработка определяет тип справочника, или документа, в который необходимо внести изменения.
- Если значение поля "Ссылка" равно NULL, создается новый элемент справочника/документа.
- Один запрос изменяет только один справочник/документ.
- Загружаемые поля сопоставляются по наименованиям.
При обновлении/загрузке табличных частей:
- На форме есть дополнительный реквизит "Имя табличной части". Его необходимо указать.
- Должны быть поля "Ссылка" и "НомерСтроки". Значение поля "Ссылка" не должно быть равно NULL.
- Если значение поля "НомерСтроки" равно NULL, создается новая строка, в противном случае изменяется строка с соответствующим номером.
- Один запрос изменяет произвольное количество табличных частей одного типа справочника/документа.
- Загружаемые поля сопоставляются по наименованиям.
Пример 1.
ВЫБРАТЬ Ссылка, "!!!" КАК Комментарий
ИЗ Документ.ПоступлениеНаРасчетныйСчет
ГДЕ Дата МЕЖДУ ДАТАВРЕМЯ(2021, 2, 5) И ДАТАВРЕМЯ(2021, 2, 5, 23, 59, 59)
В результате выполнения этого запроса обработка изменит документы "ПоступлениеНаРасчетныйСчет" за 05.02.2021г., присвоит полю "Комментарий" значение "!!!".
Пример 2.
ВЫБРАТЬ Ссылка, "ВР-"+ПОДСТРОКА(Код,4,15) КАК Код
ИЗ Справочник.Номенклатура
УПОРЯДОЧИТЬ ПО Наименование
Обработка изменит все элементы справочника "Номенклатура", заменит первые 3 символа на "ВР-" (сменит префикс)
Если сообществу будет интересно, доработаю обработку для изменения данных пакетным запросом. Впрочем, почти весь функционал для этого в ней присутствует, т.к. скопипастил его с действующей конфигурации, в которой этот функционал есть.
Данный функционал применяю не один год как в выложенном виде для изменения данных, так и в составе конфигурации в обработках для изменения данных.
Выполнена на управляемых формах. Но не составит труда ее переделать для обычных.
Тестировал на платформе 1С:Предприятие 8.3 (8.3.18.1208).
Вступайте в нашу телеграмм-группу Инфостарт