Как перенести описания по выбранным товарам из копии базы в рабочую?

1. fixin 4282 03.03.25 16:50 Сейчас в теме
Накосячили с описаниями, заметили поздно, через месяц.
Хотят восстановить описания по выбранным группам.
Как можно сделать?
На вскидку только перенос через универсальную выгрузку в таблицу (штатная загрузка из табличного документа).
Но нюанс в том что описания многострочные.
GUID товаров естественно одинаковые.

УТ 11.4
Вознаграждение за ответ
Показать полностью
Найденные решения
10. VyacheslavShilov 03.03.25 20:27 Сейчас в теме +0.8 $m
Не знаю, прокатит ли с многострочными описаниями такой вариант:
1. Консоль запросов : Запрос в одной базе: Описания + строка-разделитель+ GUIDы (или коды) (итого 3 колонки).
2. Копируем кодовую колонку в Ноутпад++, заменяем \r\n или n\r\ (не помню точно) на ",", после чего рихтуем кавычки по краям.
3. КЗ с возможностью обработки результата: Запрос ссылок на номенклатуры в другой базе где код в(строка из (2)).
4. Копируем 3 колонки из (1) в ноутпад++, заменяем " на "", подбираем замены строки-разделителя и концовок, чтобы получить Условие:
Если Строка.Код ="..." (вместо трех точек - код) Тогда Объект = Строка.Ссылка.ПолучитьОбъект(); Объект.Описание = "..." (вместо трех точек - текст описания); Попытка Объект.Записать(); Исключение Сообщить("Ошибка: " + Строка.Код); КонецПопытки;
заменяем (за несколько раз).
5. КЗ из (3), Цикл: код для результата запроса:
Для каждого Строка из Результат Цикл
Вставляем текст из 4.
КонецЦикла;
Сообщить(Строка(ТекущаяДата()) + ": готово!");
Вместо Объект.Записать(); - можно первично сделать Сообщить(Объект.Код + ":" + Объект.Описание); (для теста)
6. Выполняем (можно для теста же в запросе для (5) сначала сделать ПЕРВЫЕ 5).
7. Которые выпадут в исключения - составить отдельный список, который обрабатывать уже отдельно.
Или, все вышеописанное - в обработку затолкать.
17. fixin 4282 04.03.25 14:34 Сейчас в теме
(15) десять минут пишут джуны, сеньоры пишут от часа.

В итоге сделал выгрузку через настройку универсального отчета по номенклатуре.
А загрузку через типовую ЗагрузкаТабличныхДокументовУФ, этому пользователей научить можно.

Всем спасибо за советы, СМ раздам. Но похоже у меня самый простой способ оказался.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user-z99999 78 03.03.25 17:26 Сейчас в теме +0.2 $m
(1) Если можно написать запрос, отобрать данные, тогда:
Пишем запрос.
Конвертация данных 2.0 перекидываем.
3. fixin 4282 03.03.25 17:32 Сейчас в теме
(2) это из пушки по воробьям. Кд2 уже помирает, как 77
4. user-z99999 78 03.03.25 17:36 Сейчас в теме
(3) На форуме ожидание займёт больше времени, чем написать такой обмен на КД 2.0
5. fixin 4282 03.03.25 17:39 Сейчас в теме
(4) я не тороплюсь. завтра надо.
и уж если бы я писал, то не на КД2.
а просто обработку, где выделенные позиции скидывались бы в файл XML
а на получателе разбирались.
6. RustamZz 03.03.25 17:50 Сейчас в теме
8. fixin 4282 03.03.25 19:19 Сейчас в теме
(6) я его давно и счастливо забыл. Задачи на КД2 не беру. 1С его хоронит. Зачем мне его изучать?
14. RustamZz 04.03.25 08:17 Сейчас в теме
(8) Задачу из темы можно решить без применения клавиатуры. Только мышью. А КД2 ещё нас с вами переживет.
18. fixin 4282 04.03.25 14:34 Сейчас в теме
(14) 77 тоже жива, но еле дышит.
7. KirillHome 5 03.03.25 17:59 Сейчас в теме
9. fixin 4282 03.03.25 19:52 Сейчас в теме
(7) другие поля поменялись существенно, была работа по изменению свойств. Нужно только описание.
10. VyacheslavShilov 03.03.25 20:27 Сейчас в теме +0.8 $m
Не знаю, прокатит ли с многострочными описаниями такой вариант:
1. Консоль запросов : Запрос в одной базе: Описания + строка-разделитель+ GUIDы (или коды) (итого 3 колонки).
2. Копируем кодовую колонку в Ноутпад++, заменяем \r\n или n\r\ (не помню точно) на ",", после чего рихтуем кавычки по краям.
3. КЗ с возможностью обработки результата: Запрос ссылок на номенклатуры в другой базе где код в(строка из (2)).
4. Копируем 3 колонки из (1) в ноутпад++, заменяем " на "", подбираем замены строки-разделителя и концовок, чтобы получить Условие:
Если Строка.Код ="..." (вместо трех точек - код) Тогда Объект = Строка.Ссылка.ПолучитьОбъект(); Объект.Описание = "..." (вместо трех точек - текст описания); Попытка Объект.Записать(); Исключение Сообщить("Ошибка: " + Строка.Код); КонецПопытки;
заменяем (за несколько раз).
5. КЗ из (3), Цикл: код для результата запроса:
Для каждого Строка из Результат Цикл
Вставляем текст из 4.
КонецЦикла;
Сообщить(Строка(ТекущаяДата()) + ": готово!");
Вместо Объект.Записать(); - можно первично сделать Сообщить(Объект.Код + ":" + Объект.Описание); (для теста)
6. Выполняем (можно для теста же в запросе для (5) сначала сделать ПЕРВЫЕ 5).
7. Которые выпадут в исключения - составить отдельный список, который обрабатывать уже отдельно.
Или, все вышеописанное - в обработку затолкать.
11. fixin 4282 03.03.25 20:28 Сейчас в теме
(10) вы маньяк ;-) на самом деле через консоль с кодом можно сериализовать все в структуру, а уже в получателе обработать. Но переносить будут пользователи по отдельным группам, а не программист.
Я их этому никогда не обучу.
12. VyacheslavShilov 03.03.25 20:30 Сейчас в теме
Всякое было, когда надо было быстрее - с описаниями делал что-то подобное обработкой, насколько помню.
13. fixin 4282 03.03.25 20:36 Сейчас в теме
(12) надо для таких случаев что-то технологичнее применять, а не эти костыли, имхо. Вот думаю, что сделать.
15. antz 04.03.25 09:41 Сейчас в теме
Да там кодить десять минут с перекурами.
16. user2107191 04.03.25 09:42 Сейчас в теме
(15) Так это тем, кто умеет...
17. fixin 4282 04.03.25 14:34 Сейчас в теме
(15) десять минут пишут джуны, сеньоры пишут от часа.

В итоге сделал выгрузку через настройку универсального отчета по номенклатуре.
А загрузку через типовую ЗагрузкаТабличныхДокументовУФ, этому пользователей научить можно.

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот