Имя: Пароль:
1C
1С v8
Движения
0 tg30000
 
24.01.12
06:36
В док-та Требования накладная создал движения с записью в созданный регистр накоплений новый.Вопрос как из этого регистра удалить данные движения по этому документу требования накладная т.е. отмена проведения?
1 Wobland
 
24.01.12
06:44
ПКМ - отмена проведения?
2 r-d-v2008
 
24.01.12
06:45
(0) есть конечно еще вариант почистить сам регистр накопления, но лучше этого не делать если не знаешь что чистить
3 tg30000
 
24.01.12
06:45
В отпене проведения другие движения, которые не нужно удалять.А эти в базе не участвуют а как статистика типо того, но как из регистра прочитать движения которые были сделаны и удалить их же такое возможно? в рамках вводимого документа
4 tg30000
 
24.01.12
06:47
сделать как бы отмену проведения движения по документу в рамках моего регистра
5 Wobland
 
24.01.12
06:47
Отбор.Регистратор.Установить(Документ) и Записать()
6 r-d-v2008
 
24.01.12
06:48
(3) Сторно не? Если не тогда чисти сам регистр накопления
7 Alex375
 
24.01.12
06:54
Твой регистр подчинен регистратору или независимый? В зависимости от этого у тебя будут различные алгоритмы чистки регистра
8 tg30000
 
24.01.12
06:55
Я писал что-то типо такого ,но не работает..


Процедура Кнопка2Нажатие(Элемент)
   Запрос=Новый Запрос;
   Запрос.Текст=
   "ВЫБРАТЬ
   |    Счет_00_116.Период,
   |    Счет_00_116.Регистратор,
   |    Счет_00_116.НомерСтроки,
   |    Счет_00_116.Активность,
   |    Счет_00_116.ВидДвижения,
   |    Счет_00_116.Номенткатура,
   |    Счет_00_116.Подразделение,
   |    Счет_00_116.Количество,
   |    Счет_00_116.Сумма,
   |    Счет_00_116.МоментВремени,
   |    Счет_00_116.Регистратор.Ссылка
   |ИЗ
   |    РегистрНакопления.Счет_00_116 КАК Счет_00_116
   |ГДЕ
   |    Счет_00_116.Регистратор.Ссылка = &Ссылка";
   Запрос.УстановитьПараметр("Ссылка",Ссылка);
   Результат=Запрос.Выполнить();
   Выборка=Результат.Выбрать();
   
   Пока Выборка.Следующий() Цикл
       Движения.Счет_00_116.Удалить(Выборка);
   
   КонецЦикла;;
   
   
   
КонецПроцедуры
9 tg30000
 
24.01.12
06:56
(7)
В моем регистре в регистраторах есть требование накладная.
10 tg30000
 
24.01.12
07:03
ап
11 Rie
 
24.01.12
07:03
(8) Это какая-то ересь.
Движения.Счет_00_116 - это уже набор записей. Очищай его - и наступит счастье.
Запросы и пр. - выкинь.
12 Alex375
 
24.01.12
07:04
Думаю вот так сработает:
ТекНабор = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.СоздатьНаборЗаписей();
ТекНабор.Отбор.Регистратор.Установить(Ссылка);
ТекНабор.Записать(Истина);
13 Wobland
 
24.01.12
07:04
(10) диктую по буквам:
НаборЗаписей=РегистрыСведений.НекийРегистр.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.ДокРег);
НаборЗаписей.Записать();
14 Alex375
 
24.01.12
07:04
Только вместо взаиморасчетов свой поставь регистр!!!
15 tg30000
 
24.01.12
07:05
(14) так удалить же нужно, а тут записать?
16 Wobland
 
24.01.12
07:06
(15) записываешь пустой
17 Alex375
 
24.01.12
07:06
В регистрах нет удаления. Там только запись. При записи набора и происходит дописывание/удаление записей.
18 tg30000
 
24.01.12
07:07
(16) теперь понял.
Всем большое человеческое спасибо!!!)
19 tg30000
 
24.01.12
07:25
что-то не так...

Процедура Кнопка2Нажатие(Элемент)
   Запрос=Новый Запрос;
   Запрос.Текст=
   "ВЫБРАТЬ
   |    Счет_00_116.Период,
   |    Счет_00_116.Регистратор,
   |    Счет_00_116.НомерСтроки,
   |    Счет_00_116.Активность,
   |    Счет_00_116.ВидДвижения,
   |    Счет_00_116.Номенткатура,
   |    Счет_00_116.Подразделение,
   |    Счет_00_116.Количество,
   |    Счет_00_116.Сумма,
   |    Счет_00_116.МоментВремени,
   |    Счет_00_116.Регистратор.Ссылка
   |ИЗ
   |    РегистрНакопления.Счет_00_116 КАК Счет_00_116
   |ГДЕ
   |    Счет_00_116.Регистратор.Ссылка = &Ссылка";
   Запрос.УстановитьПараметр("Ссылка",Ссылка);
   Результат=Запрос.Выполнить();
   Выборка=Результат.Выбрать();
   
   Пока Выборка.Следующий() Цикл
       НаборЗаписей=РегистрыНакопления.Счет_00_116.СоздатьНаборЗаписей();
       НаборЗаписей.Отбор.Получить(Выборка);
       НаборЗаписей.Записать(Истина);
   
   КонецЦикла;
   
   
   
КонецПроцедуры




{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(2090)}: Ошибка при вызове метода контекста (Получить)
       НаборЗаписей.Отбор.Получить(Выборка);
по причине:
Несоответствие типов (параметр номер '1')
20 tg30000
 
24.01.12
07:25
что такое не пойму..
21 Wobland
 
24.01.12
07:27
(20) запрос там зачем? хорошо примеры читал?
22 tg30000
 
24.01.12
07:31
НаборЗаписей=РегистрыНакопления.Счет_00_116.СоздатьНаборЗаписей();
       НаборЗаписей.Отбор.Получить(Ссылка);
       НаборЗаписей.Записать(Истина);


все равно пишет несоответствие типов...
23 Wobland
 
24.01.12
07:32
(22) а какой тип должен быть у первого параметра Получить()? хорошо примеры читал?
24 tg30000
 
24.01.12
07:35
ТекНабор.Отбор.Регистратор.Установить(Ссылка);
у меня после отбор через точку нет регистратора , выходит он не подчинен регистратору или я что не тал сделал?
25 Wobland
 
24.01.12
07:36
(24) запустить и проверить постеснялся, решил у нас спросить? ;)
26 tg30000
 
24.01.12
07:37
хотя если отладчиком смотрю, тов отборе  в типе значений есть требование накладная.
27 tg30000
 
24.01.12
07:39
что-то ерунду какую-то делаю... не соображу ..
28 Wobland
 
24.01.12
07:41
(27) три строки делов. ну ещё четвёртая для получить ссылку на регистратор...
29 tg30000
 
24.01.12
07:41
ну я понимаю что вроде все просто,но почему ошибку выдает не пойму.
30 Wobland
 
24.01.12
07:42
(29) тебе легче, ты ошибку видишь
31 tg30000
 
24.01.12
07:43
В регистраторах регистра накопления вроде стоит Требование накладная, но через точку в отборе не видит..
32 tg30000
 
24.01.12
07:44
Пишет несоответствие типов(параметр 1)
33 Wobland
 
24.01.12
07:44
(31) это просто полный финиш. неужели руками писать?
34 Wobland
 
24.01.12
07:45
(32) так. уже лучше. ещё немного и я догадаюсь, на какой строке кода
35 tg30000
 
24.01.12
07:48
0_0 о я ВАЛЕноК все понял, СПАСИБО большое!!!!
Вот затупил так затупил...
Спасибо Wobland большое)