Имя: Пароль:
1C
1С v8
групповая обработка документов. изменение замена единицы хранения остатков. ☑
0 botva
 
28.08.13
✎
11:40
в результате разных криворуких манипуляций для всей номенклатуры из справочника была выделена одна и та же единица хранения остатков. эту проблему решили созданием новых единиц для каждого товара.
но осталась проблема со старыми документами. как бы пройтись по всем документам и выполнить для всех товаров в табличной части что-то вроде такого:
ТекДанные.ЕдИзмерения=ТекДанные.Номенклатура.ЕдИзмерения;
стандартная групповая обработка документов не катит, т.к. она может присвоить только конкретно заданную единицу измерения, а мне нужно, чтобы она была для каждого товара своя.
может есть какие-то внешние обработки?
1 Галахад
 
гуру
28.08.13
✎
11:42
Написать же.
2 botva
 
28.08.13
✎
11:44
к сожалению, чукча не писатель. подправить могу, а с нуля лабать - нет.
3 Wobland
 
28.08.13
✎
11:45
(2) подправь

Процедура КнопкаВыполнитьНажатие(Кнопка)
    // Вставить содержимое обработчика.
КонецПроцедуры
4 botva
 
28.08.13
✎
13:02
вообще, хотелось бы заюзать обработку
"универсальные подбор и обработка объектов" -> произвольный алгоритм
вот как в этой теме

v8: Универсальные подбор и обработка

только не могу вкурить чтобы там написать, должно как-то так, а не работает.
[code]
Объект.ЕдИзмерения = ТекДанные.Номенклатура.ЕдИзмерения;
Объект.Записать();
[/code]
5 Галахад
 
гуру
28.08.13
✎
13:05
Для каждого Стр из Объект.Товары Цикл

Стр.ЕдИзмерения = Стр.Номенклатура.ЕдИзмерения;

КонецЦикла;

Объект.Записать();
6 Dmitry1c
 
28.08.13
✎
13:05
Тест = Тест;
7 hhhh
 
28.08.13
✎
13:08
(4) там то же самое, что и в (2). В общем надо специалиста нанимать.
8 botva
 
28.08.13
✎
13:40
Галахад, спасибо.
о том, что может быть несколько строк не подумал.
но вылазит ошибка

Поле объекта не обнаружено (ЕдИзмерения)
Стр.ЕдИзмерения = Стр.Номенклатура.ЕдИзмерения;

что-то с ссылками кривовато, но чувствую, победа уж близка :)
9 hhhh
 
28.08.13
✎
13:54
(8) реально есть такое поле ЕдИзмерения?
10 Галахад
 
гуру
28.08.13
✎
13:57
(8) Ну так проверь есть ли такой реквизит у данного объекта.
11 Segate
 
28.08.13
✎
14:00
док=Документы.***.выбрать();

Пока Док.следующий() цикл
Объект = док.получитьОбъект();
Для каждого стр из Объект.Товары цикл
Стр.едИзмерения = стр.номенклатура.едИзмерения;
Конеццикла;
Объект.Записать();
Конеццикла;
12 Segate
 
28.08.13
✎
14:01
пользуйся. с тебя пиво )
13 botva
 
28.08.13
✎
14:20
Галахад, спасибо.
все-таки я лошара :)
вот так заработало

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