Имя: Пароль:
1C
 
Как скопировать проводку?
0 Галахад
 
гуру
09.09.25
13:26
В голову пришел только этот вариант. Есть более компактный?

ДокОбъект = Док.ПолучитьОбъект();
Хозрасчетный = ДокОбъект.Движения.Хозрасчетный;
Хозрасчетный.Прочитать();

ТЗ = Хозрасчетный.Выгрузить();
ТЗ.Колонки.Удалить("НомерСтроки");
Проводка = ТЗ.Добавить();
ЗаполнитьЗначенияСвойств(Проводка, ТЗ[0]);
Хозрасчетный.Загрузить(ТЗ);
1 Волшебник
 
09.09.25
13:28
а после перепроведения скопированная проводка превратится в тыкву.
2 Галахад
 
гуру
09.09.25
13:30
(1) Ну это пример же.
3 Волшебник
 
09.09.25
13:31
предлагаю такой трэш:
Проводка.Сумма = Проводка.Сумма*2;
Проводка.Количество = Проводка.Количество*2;
4 Волшебник
 
09.09.25
13:35
или так:
НовДок = ДокОбъект.Скопировать();
НовДок.Записать(РежимЗаписиДокумента.Проведение);
5 Галахад
 
гуру
09.09.25
13:36
(3) Проводка = Хозрасчетный.Добавить();
ЗаполнитьЗначенияСвойств(Проводка, Хозрасчетный[0]);

Так не работает.
6 Волшебник
 
09.09.25
13:38
(5)
Проводка = Хозрасчетный[0];
Проводка.Сумма = Проводка.Сумма*2;
Проводка.Количество = Проводка.Количество*2;
7 Галахад
 
гуру
09.09.25
13:41
(6) Как насчет СубконтоДт ?
8 Волшебник
 
09.09.25
13:42
(7) они не меняются
9 Галахад
 
гуру
09.09.25
13:45
(6) Заменим:
Проводка = Хозрасчетный[0];
На:
Проводка = Хозрасчетный.Добавить();

Как скопировать субконто?
10 программистище
 
09.09.25
13:47
это типа самописный код, БСП не подходит?
11 Галахад
 
гуру
09.09.25
13:50
(10) Можно и БСП.
12 программистище
 
09.09.25
14:36
а, ну это не БСП
это буховский модуль
так делал

БухгалтерскийУчет.УстановитьСубконто(СтрокаТЗ.СчетДт, СтрокаТЗ.СубконтоДт, "Номенклатура", СтрокаТ.ГотоваяПродукция);
БухгалтерскийУчет.УстановитьСубконто(СтрокаТЗ.СчетДт, СтрокаТЗ.СубконтоДт, "Контрагенты", Контрагент);
13 Гипервизор
 
09.09.25
14:24
(0) Немного компактнее:
ДокОбъект = Док.ПолучитьОбъект();
Хозрасчетный = ДокОбъект.Движения.Хозрасчетный;
Хозрасчетный.Прочитать();
ТЗ = Хозрасчетный.Выгрузить();
ЗаполнитьЗначенияСвойств(ТЗ.Добавить(), ТЗ[0],, "НомерСтроки");
Хозрасчетный.Загрузить(ТЗ);
14 Галахад
 
гуру
09.09.25
14:31
(12) Спасибо.

(13) ;-)
15 Волшебник
 
09.09.25
14:45
Х = Док.ПолучитьОбъект().Движения.Хозрасчетный;
Х.Прочитать();
ЗаполнитьЗначенияСвойств(Х.Добавить(), Х[0],, "НомерСтроки");
16 Галахад
 
гуру
09.09.25
14:47
(15) Не работает же. В (5) писал.
17 Волшебник
 
09.09.25
14:51
(15) Ты не исключал "НомерСтроки"
18 Галахад
 
гуру
09.09.25
14:55
(17) ;-)