Изменение номенклатуры в поступлениях через запросник

1. user1316159 19.04.21 10:24 Сейчас в теме
Добрый день. Грузил обработкой поступления в 1С Комлексная автоматизация. В результате из-за неверного кода номенклатуры в большом количестве документов проставилась неверная номенклатура. Перегружать не вариант, так как обработка не подтягивает склады, их приходилось проставлять вручную, а у нас их очень много. Просьба помочь с алгоритмом для изменения номенклатуры.

Сам я пока дошел только до вот этого:

Для Каждого Стр Из Объект1с.Товары Цикл
Стр.Номенклатура = СтрокаРезультата.НоменклатураНов;
КонецЦикла;

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

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

PS В нашей версии 1С КА нет изменения выделенных документов(
Найденные решения
2. DenisVol 3 19.04.21 10:43 Сейчас в теме
Если Вы отобрали нужную номенклатуру. Дальше Вам необходимо в табличной части ТОВАРЫ, находить неправильный товар и его заменять. Т.е. у вас должно быть список неправильной номенклатуры:

Для Каждого Стр Из Объект1с.Товары Цикл
      Если Стр.Номенклатура = НоменклатураНеправильная Тогда
              Стр.Номенклатура = СтрокаРезультата.НоменклатураНов;
      КонецЕсли;
КонецЦикла;



типа такого
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DenisVol 3 19.04.21 10:43 Сейчас в теме
Если Вы отобрали нужную номенклатуру. Дальше Вам необходимо в табличной части ТОВАРЫ, находить неправильный товар и его заменять. Т.е. у вас должно быть список неправильной номенклатуры:

Для Каждого Стр Из Объект1с.Товары Цикл
      Если Стр.Номенклатура = НоменклатураНеправильная Тогда
              Стр.Номенклатура = СтрокаРезультата.НоменклатураНов;
      КонецЕсли;
КонецЦикла;



типа такого
3. user1316159 19.04.21 11:44 Сейчас в теме
(2)
Если Стр.Номенклатура = НоменклатураНеправильная Тогда
Стр.Номенклатура = СтрокаРезультата.НоменклатураНов;
КонецЕсли;

(2)

Странно в таком варианте он выдает ошибку, требуя поставить "Тогда", хотя "тогда" уже есть.

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

Вот так он работает, но ничего не меняет.
Для Каждого Стр Из Объект1с.Товары Цикл
	Если Стр.Номенклатура = "Бублик с маком" Тогда 
	Стр.Номенклатура = СтрокаРезультата.НоменклатураНов;
	КонецЕсли;
	КонецЦикла;


А вот так выдает ошибку неизвестный модуль 15,32 ожидается ключевое слово "Тогда"

Для Каждого Стр Из Объект1с.Товары Цикл
	Если Стр.Номенклатура = Бублик с маком Тогда 
	Стр.Номенклатура = СтрокаРезультата.НоменклатураНов;
	КонецЦикла;
4. user1316159 19.04.21 11:49 Сейчас в теме
(3)

Все, кажется разобрался. Нужно было допроставить

Для Каждого Стр Из Объект1с.Товары Цикл
Если Стр.Номенклатура.Наименование = "Бублик с маком" Тогда
Стр.Номенклатура = СтрокаРезультата.НоменклатураНов;
КонецЕсли;
КонецЦикла;


Наверное поиск по наименование не самое лучшее решение, но мне сейчас сойдет.

Спасибо за помощь.
5. DenisVol 3 19.04.21 11:54 Сейчас в теме
не забудьте потом записать документ, после изменений
Оставьте свое сообщение

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