Имя: Пароль:
1C
1С v8
Как перепровести документы только по одному регистру?
, ,
0 Shur1cIT
 
13.01.14
14:58
УПП руководство захотело увидеть закупки в разрезе серий, но на регистре "Заказы" такового разреза нет, планирую добавить в разрез серию и как-то пере провести регистраторы данного регистра, вопрос как это можно сделать?
1 Конфигуратор1с
 
13.01.14
14:59
(0) а зачем перепроводить? почему не записать программно движения?
2 Apokalipsec
 
13.01.14
15:00
на инфостарте есть обработка проведения по определенному регистру.
Но я бы не рекомендовал вам её использовать.
3 Shur1cIT
 
13.01.14
15:00
регистр не Заказы а закупки
(0) пытался из других регистров такой отчет организовать, данные расходятся немного, что не очень кошерно
4 Shur1cIT
 
13.01.14
15:00
(2) почему какие последствия?
5 Shur1cIT
 
13.01.14
15:01
(1) так от старых надо избавиться перед созданием новых, старые та движения без серий есть.
6 Конфигуратор1с
 
13.01.14
15:02
(0) просто перепроводить регистраторы одного регистра может все полететь если за прошлые периоды затронуть
7 Конфигуратор1с
 
13.01.14
15:03
ведь регистраторы будут перепроводится по всем регистрам
8 zladenuw
 
13.01.14
15:04
(0) ну так выборку по регистру. читаешь данные. заполняешь колонку серию и записываешь данные
9 Maxus43
 
13.01.14
15:04
(4) хочешь сделать хорошо - сделай сам.

Мой гениальный вариант:

НачатьТранзакции();

Док.Провести();
Набор = РН.МойРегистр.СоздатьНаборЗаписей();
набор.Отбор.Регистратор.Установить(Док.Ссылка);
Набор.Прочитать();
ТЗ = Набор.Выгрузить();

ОтменитьТранзакцию();

/// ну и записывай готовый набор записей из ТЗ в конкретный регистр
10 Maxus43
 
13.01.14
15:04
Док.Провести(); = Док.записать(РежимЗаписиДокумента.Проведение);
конечно же
11 Serg_1960
 
13.01.14
15:13
НачатьТранзакцию();
Объект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
Объект.Движения[ИмяРегистра].Прочитать();
ТаблицаЗаписей = Объект.Движения[ИмяРегистра].Выгрузить();
ОтменитьТранзакцию();
Объект.Движения[ИмяРегистра].Загрузить(ТаблицаЗаписей);
Объект.Движения[ИмяРегистра].Записать(Истина);
12 Shur1cIT
 
13.01.14
15:18
(11) Объект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);  

разве на это строчке он не полностью перепроведёться?
13 Maxus43
 
13.01.14
15:19
(12) ОтменитьТранзакцию ни о чем не говорит?
14 Shur1cIT
 
13.01.14
15:19
(11) (12)
понял мы в транзакции делаем потом отменяем
15 Maxus43
 
13.01.14
15:20
но так долго на самом деле. Если знаешь алгоритмы формирования записей в этот регистр - то лучше сразу писать туда, без фиктивного проведения докмента
16 Shur1cIT
 
13.01.14
15:20
спасибо сейчас на тестовой потестю
17 marvak
 
13.01.14
15:21
(0)
Лучше не перепроводи, а просто записывай в уже имеющиеся движения по данному регистратору нужные серии.
А сами движдения лучше не трогать.