Как перенести описания по выбранным товарам из копии базы в рабочую?
Накосячили с описаниями, заметили поздно, через месяц.
Хотят восстановить описания по выбранным группам.
Как можно сделать?
На вскидку только перенос через универсальную выгрузку в таблицу (штатная загрузка из табличного документа).
Но нюанс в том что описания многострочные.
GUID товаров естественно одинаковые.
УТ 11.4
Хотят восстановить описания по выбранным группам.
Как можно сделать?
На вскидку только перенос через универсальную выгрузку в таблицу (штатная загрузка из табличного документа).
Но нюанс в том что описания многострочные.
GUID товаров естественно одинаковые.
УТ 11.4
Найденные решения
Не знаю, прокатит ли с многострочными описаниями такой вариант:
1. Консоль запросов : Запрос в одной базе: Описания + строка-разделитель+ GUIDы (или коды) (итого 3 колонки).
2. Копируем кодовую колонку в Ноутпад++, заменяем \r\n или n\r\ (не помню точно) на ",", после чего рихтуем кавычки по краям.
3. КЗ с возможностью обработки результата: Запрос ссылок на номенклатуры в другой базе где код в(строка из (2)).
4. Копируем 3 колонки из (1) в ноутпад++, заменяем " на "", подбираем замены строки-разделителя и концовок, чтобы получить Условие:
Если Строка.Код ="..." (вместо трех точек - код) Тогда Объект = Строка.Ссылка.ПолучитьОбъект(); Объект.Описание = "..." (вместо трех точек - текст описания); Попытка Объект.Записать(); Исключение Сообщить("Ошибка: " + Строка.Код); КонецПопытки;
заменяем (за несколько раз).
5. КЗ из (3), Цикл: код для результата запроса:
Для каждого Строка из Результат Цикл
Вставляем текст из 4.
КонецЦикла;
Сообщить(Строка(ТекущаяДата()) + ": готово!");
Вместо Объект.Записать(); - можно первично сделать Сообщить(Объект.Код + ":" + Объект.Описание); (для теста)
6. Выполняем (можно для теста же в запросе для (5) сначала сделать ПЕРВЫЕ 5).
7. Которые выпадут в исключения - составить отдельный список, который обрабатывать уже отдельно.
Или, все вышеописанное - в обработку затолкать.
1. Консоль запросов : Запрос в одной базе: Описания + строка-разделитель+ GUIDы (или коды) (итого 3 колонки).
2. Копируем кодовую колонку в Ноутпад++, заменяем \r\n или n\r\ (не помню точно) на ",", после чего рихтуем кавычки по краям.
3. КЗ с возможностью обработки результата: Запрос ссылок на номенклатуры в другой базе где код в(строка из (2)).
4. Копируем 3 колонки из (1) в ноутпад++, заменяем " на "", подбираем замены строки-разделителя и концовок, чтобы получить Условие:
Если Строка.Код ="..." (вместо трех точек - код) Тогда Объект = Строка.Ссылка.ПолучитьОбъект(); Объект.Описание = "..." (вместо трех точек - текст описания); Попытка Объект.Записать(); Исключение Сообщить("Ошибка: " + Строка.Код); КонецПопытки;
заменяем (за несколько раз).
5. КЗ из (3), Цикл: код для результата запроса:
Для каждого Строка из Результат Цикл
Вставляем текст из 4.
КонецЦикла;
Сообщить(Строка(ТекущаяДата()) + ": готово!");
Вместо Объект.Записать(); - можно первично сделать Сообщить(Объект.Код + ":" + Объект.Описание); (для теста)
6. Выполняем (можно для теста же в запросе для (5) сначала сделать ПЕРВЫЕ 5).
7. Которые выпадут в исключения - составить отдельный список, который обрабатывать уже отдельно.
Или, все вышеописанное - в обработку затолкать.
(15) десять минут пишут джуны, сеньоры пишут от часа.
В итоге сделал выгрузку через настройку универсального отчета по номенклатуре.
А загрузку через типовую ЗагрузкаТабличныхДокументовУФ, этому пользователей научить можно.
Всем спасибо за советы, СМ раздам. Но похоже у меня самый простой способ оказался.
В итоге сделал выгрузку через настройку универсального отчета по номенклатуре.
А загрузку через типовую ЗагрузкаТабличныхДокументовУФ, этому пользователей научить можно.
Всем спасибо за советы, СМ раздам. Но похоже у меня самый простой способ оказался.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не знаю, прокатит ли с многострочными описаниями такой вариант:
1. Консоль запросов : Запрос в одной базе: Описания + строка-разделитель+ GUIDы (или коды) (итого 3 колонки).
2. Копируем кодовую колонку в Ноутпад++, заменяем \r\n или n\r\ (не помню точно) на ",", после чего рихтуем кавычки по краям.
3. КЗ с возможностью обработки результата: Запрос ссылок на номенклатуры в другой базе где код в(строка из (2)).
4. Копируем 3 колонки из (1) в ноутпад++, заменяем " на "", подбираем замены строки-разделителя и концовок, чтобы получить Условие:
Если Строка.Код ="..." (вместо трех точек - код) Тогда Объект = Строка.Ссылка.ПолучитьОбъект(); Объект.Описание = "..." (вместо трех точек - текст описания); Попытка Объект.Записать(); Исключение Сообщить("Ошибка: " + Строка.Код); КонецПопытки;
заменяем (за несколько раз).
5. КЗ из (3), Цикл: код для результата запроса:
Для каждого Строка из Результат Цикл
Вставляем текст из 4.
КонецЦикла;
Сообщить(Строка(ТекущаяДата()) + ": готово!");
Вместо Объект.Записать(); - можно первично сделать Сообщить(Объект.Код + ":" + Объект.Описание); (для теста)
6. Выполняем (можно для теста же в запросе для (5) сначала сделать ПЕРВЫЕ 5).
7. Которые выпадут в исключения - составить отдельный список, который обрабатывать уже отдельно.
Или, все вышеописанное - в обработку затолкать.
1. Консоль запросов : Запрос в одной базе: Описания + строка-разделитель+ GUIDы (или коды) (итого 3 колонки).
2. Копируем кодовую колонку в Ноутпад++, заменяем \r\n или n\r\ (не помню точно) на ",", после чего рихтуем кавычки по краям.
3. КЗ с возможностью обработки результата: Запрос ссылок на номенклатуры в другой базе где код в(строка из (2)).
4. Копируем 3 колонки из (1) в ноутпад++, заменяем " на "", подбираем замены строки-разделителя и концовок, чтобы получить Условие:
Если Строка.Код ="..." (вместо трех точек - код) Тогда Объект = Строка.Ссылка.ПолучитьОбъект(); Объект.Описание = "..." (вместо трех точек - текст описания); Попытка Объект.Записать(); Исключение Сообщить("Ошибка: " + Строка.Код); КонецПопытки;
заменяем (за несколько раз).
5. КЗ из (3), Цикл: код для результата запроса:
Для каждого Строка из Результат Цикл
Вставляем текст из 4.
КонецЦикла;
Сообщить(Строка(ТекущаяДата()) + ": готово!");
Вместо Объект.Записать(); - можно первично сделать Сообщить(Объект.Код + ":" + Объект.Описание); (для теста)
6. Выполняем (можно для теста же в запросе для (5) сначала сделать ПЕРВЫЕ 5).
7. Которые выпадут в исключения - составить отдельный список, который обрабатывать уже отдельно.
Или, все вышеописанное - в обработку затолкать.
(15) десять минут пишут джуны, сеньоры пишут от часа.
В итоге сделал выгрузку через настройку универсального отчета по номенклатуре.
А загрузку через типовую ЗагрузкаТабличныхДокументовУФ, этому пользователей научить можно.
Всем спасибо за советы, СМ раздам. Но похоже у меня самый простой способ оказался.
В итоге сделал выгрузку через настройку универсального отчета по номенклатуре.
А загрузку через типовую ЗагрузкаТабличныхДокументовУФ, этому пользователей научить можно.
Всем спасибо за советы, СМ раздам. Но похоже у меня самый простой способ оказался.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот