Имя: Пароль:
1C
 
Корректировка записей УТ 10.3
0 nvhost
 
10.01.16
08:42
Ребят помогите с документом, делаю вроде все как всегда, но получить ссылку на номенклатуру из таблицы не могу.....что не так?
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Для Каждого СТр ИЗ ВыборкаДетальныеЗаписи.Ссылка.ТаблицаРегистровНакопления Цикл
            Номенклатура =СТР;
        КонецЦикла;
1 vyaz
 
10.01.16
08:47
ТаблицаРегистровНакопления тип строка, какая там номенклатура может быть?
2 vyaz
 
10.01.16
08:51
+1 вернее табличная часть со строками, именами регистров
3 nvhost
 
10.01.16
09:03
да это я понял, а как добратся тогда до строки?
4 vyaz
 
10.01.16
09:10
Запрос сразу делай к движениям нужного тебе регистра с отбором по документу корректировки
5 nvhost
 
10.01.16
09:29
хммммм, дело в том что мне надо проверить номенклатуру которая попала в док на наличие на складе, если нет такой в наличии то запись следует удалить....вопрос как удалить строку, получается нужно удалить запись сразу с регистра?
6 hhhh
 
10.01.16
10:06
(5) в документе нет строк. То, что ты видишь там строку - это строка прям в регистре.
7 nvhost
 
10.01.16
19:18
А как? в регистре ЦеныАТТ отбор можно сделать только по регистратору
8 nvhost
 
10.01.16
19:19
НаборЛицевыхСчетов = РегистрыСведений.ЦеныАТТ.СоздатьНаборЗаписей();
            НаборЛицевыхСчетов.Отбор.РЕГИСТРАТОР.Установить(Док);
            НаборЛицевыхСчетов.Отбор.Номенклатура.Установить(Массив[0]);
            НаборЛицевыхСчетов.Отбор.ХарактеристикаНоменклатуры.Установить(Массив[1]);
            НаборЛицевыхСчетов.Прочитать();
            НаборЛицевыхСчетов.Удалить();
Номенклатуры и характеристики нет
9 hhhh
 
10.01.16
21:03
(8) вы первый день что ли в 1с? Движения записываются только целиком для регистатора. Удалить одну строчку невозможно.
10 nvhost
 
11.01.16
08:59
Вот это новости....блин, а был план свернуть базу, получатся документы корректровка записей регистров их перенести в новую базу, а потом подчистить то что не нужно.....,а если я все таки принудиетльно номенклаутру удалю в регистре сведений Цены АТТ все равно останутся, получается в моем случае в записи будует в поле номенклатура "Объект не найден", можно ли будет потом эти записи подчистить с помощью тесттрования и исправдления?
11 hhhh
 
11.01.16
09:15
(10) ну так можно

НаборЛицевыхСчетов = РегистрыСведений.ЦеныАТТ.СоздатьНаборЗаписей();
            НаборЛицевыхСчетов.Отбор.РЕГИСТРАТОР.Установить(Док);
            
НаборЛицевыхСчетов.Прочитать();


удаляешь что-то

НаборЛицевыхСчетов.Записать();
12 nvhost
 
11.01.16
14:02
какой командой удаляю что  то?и я так понимаю в цикле это что то надо улдаять?
13 hhhh
 
11.01.16
14:12
ну, много вариантов. можешь выгрузить набор в тз, а в ней НайтиСтроки, потом в цикле удалить строки и загрузить тз обратно.
14 nvhost
 
11.01.16
14:13
понял спс большущие, отраюота. выложу код
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший