Имя: Пароль:
1C
1С v8
Документ ОперацияБух таблица регистров
0 arhiordinator
 
17.11.15
10:01
Всем привет,подскажите пожалуйста как программно из внешней обработки заполнить таблицурегистровнакопления, документа операциябух.
Док = Документы.ОперацияБух.СоздатьДокумент();
Док.ТаблицаРегистровНакопления.Добавить().Имя = "Расчет";
                СтрокаДвижений =  Расчет.Добавить();    
                СтрокаДвижений.ВидДвижения = ВидДвиженияНакопления.Расход;
        СтрокаДвижений.Период = Дата;
        СтрокаДвижений.Организация            = ПлатежныйДокумент.Организация;
        СтрокаДвижений.ПодразделениеОрганизации        = Стр.Подразделение;
        СтрокаДвижений.Касса            = Стр.Касса;
        СтрокаДвижений.Сумма                = Стр.Выручка;
        Расчет.Записывать = Истина;

Может сталкивался кто то.
1 cw014
 
17.11.15
10:02
ОперацияБух - это 7.7? На сколько я помню, там нету таблицы регистров накопления
2 arhiordinator
 
17.11.15
10:06
нет 8.3
3 Горогуля
 
17.11.15
10:07
бух - это бухгалтерская?
4 cw014
 
17.11.15
10:08
Что за конфигурация то?
5 arhiordinator
 
17.11.15
10:13
бухгалтерия предприятия, 8.3  редакция 3.0 упр. формы.
6 cw014
 
17.11.15
10:54
(5) Нету под рукой. Поправь меня если я не прав. "ТаблицаРегистровНакопления" - это табличная часть и у него всего одна колонка "Имя". Так? А "Расчет" - это движение документа (причем регистра накопления). Так?
7 arhiordinator
 
17.11.15
18:40
(6) Да всё верно.
8 Горогуля
 
17.11.15
18:42
нужен набор записей с отбором по регистратору
9 Naumov
 
18.11.15
01:17
(7) СтрокаДвижений =  Движения.Расчет.Добавить();
10 Горогуля
 
18.11.15
05:27
(9) хорошо б ещё, чтоб документ проводился
11 Naumov
 
18.11.15
10:16
(10) Документ без проведения проводился?
12 Горогуля
 
18.11.15
10:56
(11) хорошо б ещё, чтоб документ умел проводиться
13 Dmitrii
 
гуру
18.11.15
11:10
(9) (12) У ОперацияБух установлено Проведение - Запретить.

Проведение/НеПроведение документа определяется активностью наборов записей (включена/выключена).
14 Naumov
 
18.11.15
11:15
(12) А на за чем?
15 arhiordinator
 
18.11.15
12:06
Движения это понятно, вопрос в том, что сам документ не имеет изначально не реквизитов не элементов.
16 VikingKosmo
 
18.11.15
12:08
(15) документ имеет движения... Ну ли движения документ, это уж как постараться...
17 Dmitrii
 
гуру
18.11.15
12:10
(15) >> вопрос в том, что сам документ не имеет изначально не реквизитов не элементов

Я не понял в чем вопрос...
18 mxs089
 
18.11.15
12:13
(0) в обработку передаешь ссылку на записанный пустой документ, в обработке получаешь объект - Ссылка.ПолучитьОбъект(), и получаешь движения объекта, Объект.Движения.НужныйРегистр. с этим набором и работаешь.
19 arhiordinator
 
18.11.15
12:16
(17)  Открой его, у него есть табличные части в которых указываешь имя регистра, вот пытаюсь из обработки создать для этого документа регистр накопления, и занести данные, не получается, так как там, сначала создаются реквизиты, потом элементы формы, а как правильно из внешней заполнить этот документ, что бы при открытии отображался регистр накопления, который хочешь добавить.
20 mxs089
 
18.11.15
12:18
(19) бп нет под рукой, у документа должна быть табличная часть, которая содержит имена регистров, после создания документа добавь программно запись с именем регистра
21 Dmitrii
 
гуру
18.11.15
12:24
(19) Выполняешь свой код из (0) с учетом поправки из поста (9) и в конце вместо

Расчет.Записывать = Истина

выполни принудительную запись движений:

Движения.Записать();
22 Горогуля
 
18.11.15
12:24
(20) записи в регистре абсолютно похер, что там у регистратора в ТЧ
23 lera01
 
18.11.15
12:36
Посмотрела в Бух 3.0. Регистра накопления "Расчет" там не нашла. Если это добавленный ТС регистр, то для использования документа "ОперацияБух" надо добавить этот регистр в движения документа в конфигураторе. После этого достаточно организовать движения регистра как в (9) и все получится.
24 arhiordinator
 
18.11.15
14:51
(23) Нет это не так.
25 lera01
 
18.11.15
20:21
(24) Конечно, это не так. Вы же лучше всех знаете как надо, поэтому и создаете темы на этом форуме.
26 Naumov
 
19.11.15
21:58
(24) в (9) неточность, правильно писать
СтрокаДвижений =  Док.Движения.Расчет.Добавить();

Док не забыть записать, движения регистра расчет записать в явном виде:
Док.Движения.Расчет.Записать();
27 arhiordinator
 
23.11.15
14:29
(26) Повторю этот регистр накопления не объявлен явно, там всего лишь табличная часть , которая хранит имя регистра в виде строки, надо что бы после обработки документ открывался и на форме была добавлена табличная часть.
28 Dmitrii
 
гуру
23.11.15
14:34
(27) >> Повторю...

Да хоть обповторяйся.
Тебе уже всё разжевали и написали, как надо сделать.
А ты всё из себя дятла с железобетонным клювом строишь вместо того, чтобы сделать то, что добрые люди советуют.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс