Имя: Пароль:
1C
 
Как добавить в регистр накопления данные из таблицы значений
,
0 Sv4org
 
16.09.16
16:30
Как добавить в регистр накопления данные из таблицы значений
Я имею в виде чтобы проводить движение по таблице значений
1 Sv4org
 
16.09.16
16:31
ТЗ = Новый ТаблицаЗначений;
    
    Тз.Колонки.Добавить("Материал", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
    Тз.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
    Тз.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));
    Тз.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));    
    Тз.Колонки.Добавить("Склад", Новый ОписаниеТипов("СправочникСсылка.Склады"));
    Тз.Колонки.Добавить("Организация", Новый ОписаниеТипов("СправочникСсылка.Организация"));
    Тз.Колонки.Добавить("СтавкаНДС",  Новый ОписаниеТипов("Перечисления.СтавкиНДС"));
    Тз.Колонки.Добавить("СуммаНДС", Новый ОписаниеТипов("Число"));
    Тз.Колонки.Добавить("Итого",  Новый ОписаниеТипов("Число"));

Вот начало кода
а дальше что делать не знаю написал запрос но сказали не делать через запро
подскажите кто нибудь как сделать?
2 aleks_default
 
16.09.16
16:33
Кто сказал? Плюнуть ему в рожу успел?
3 Sv4org
 
16.09.16
16:33
(2) к сожелению нет
4 Sv4org
 
16.09.16
16:34
(2) Можно вообще делать это без запроса или нет?
Я просто ещё новичо и не сильно разбираюсь
5 jsmith
 
16.09.16
16:35
Запрос -> ТЗ -> Загрузка в НЗ.
6 aleks_default
 
16.09.16
16:35
Что сделать-то нужно?
7 IVT_2009
 
16.09.16
16:35
Регистр накоплений двигается только через привязанные к нему документы
8 Sv4org
 
16.09.16
16:39
(6) Есть документ "Приходная накладная" и есть регистр накопления "Товары на складах"
Нужно програмно в модуле документа создать таблицу значений и заполнить таблицу данными а потом провести движение по таблице
9 aleks_default
 
16.09.16
16:40
(8)Воспользуйся конструктором движений документа
10 Sv4org
 
16.09.16
16:42
(9) Спасибо, сейчас попробую
11 Sv4org
 
16.09.16
16:48
(9) А как через конструктор запроса работать с таблицой значений?
12 hhhh
 
16.09.16
16:50
(11) зачем конструктор понадобился? Просто делай

Движения.Твойрегистр.Загрузить(ТЗ);

чего ты там паришься?

Главное, чтобы поля по названию совпадали в регистре и тз
13 jsmith
 
16.09.16
16:50
(11) Не запроса йоптыть. А движений.
Но там цикл будет.
14 jsmith
 
16.09.16
16:52
(12) У менеджера регистра нет такого свойства
НЗ = Движения.ТвойРегистр.СоздатьНаборЗаписей();
НЗ.Загрузить(ТЗ);
15 aleks_default
 
16.09.16
16:54
(11)Не конструктор запроса, а конструктор движений документа, в свойствах документа на закладке "Движения".
(12)Зачем вообще нужна таблица значений промежуточная?
16 Sv4org
 
16.09.16
16:56
(15) простите ошибся с конструкторм запроса имел в виде конструктор движений
Так попросили сделать через таблицу значений
17 jsmith
 
16.09.16
16:57
Через через йоптыть. Что значит через
18 Фрэнки
 
16.09.16
16:58
(16) по шагам

значение регистратора (то бишь документа) уже есть у тебя?
19 jsmith
 
16.09.16
16:58
Данные для проведения запросом вытаскиваются
Запрос в ТЗ (выборка, ТЗ - один хрен)
Затем нам нужен набор записей регистр
Можно циклом, можно загрузить из ТЗ - без разницы
Если некоторые поля пустые, дописать
20 aleks_default
 
16.09.16
16:58
(16) Скажи точно, слово в слово, что тебе сказали сделать.
Потому что то что ты хочешь сделать - это бред.
21 Sv4org
 
16.09.16
17:01
(20) Слово в слово
Создать Програмно таблицу значений и колонки. Заполнить и сформировать по приходной накладной потом провести движение по таблице
22 Фрэнки
 
16.09.16
17:04
ДокументОбъект = ДокументСсылка.ПолучитьОбъект()

ДвижДокумента = ДокументОбъект как только ставишь точку конфигуратор подскажет - выбирай Движения и нужное название как назван регистр.

ТЗ_Движения = ДвижДокумента.Выгрузить()

делаешь что хочешь с ними, затем в самом конце

ДвижДокумента.Загрузить(ТЗ_Движения)

ДвижДокумента.Записать()

----

Если нужна "чистая ТЗ" без строк данных, то можно

ТЗ_Движения = ДвижДокумента.ВыгрузитьКолонки()

или
ТЗ_Движения = ДвижДокумента.Выгрузить()
ТЗ_Движения.Очистить()
23 Sv4org
 
16.09.16
17:05
(22) Спасибо большое помогли
24 Фрэнки
 
16.09.16
17:06
(21) Ни один прог на станет формировать каждую колонку в отдельности, если она уже предопределена в метаданных, в данном варианте - в метаданных описывающих регистр
25 hhhh
 
16.09.16
17:07
(14) всё-таки изучайте синтакс-помощник повнимательнее

РегистрНакопленияНаборЗаписей.<Имя регистра накопления> (AccumulationRegisterRecordSet.<Имя регистра накопления>)
Загрузить (Load)
Синтаксис:

Загрузить(<ТаблицаЗначений>)
Параметры:

<ТаблицаЗначений> (обязательный)

Тип: ТаблицаЗначений.
Таблица значений, содержащая данные для заполнения набора записей.
Описание:

Загружает набор записей значениями из переданной таблицы значений. При этом все прежние записи набора удаляются. Заполняются значения доступных для записи свойств записей регистра накопления, имена которых совпали c именами колонок таблицы значений.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:

Рег = РегистрыНакопления.Продажи;
НаборЗаписей = Рег.СоздатьНаборЗаписей();
Таб = Новый ТаблицаЗначений;
// формирование таблицы значений
// ...
НаборЗаписей.Загрузить(Таб);
26 aleks_default
 
16.09.16
17:09
(21)Ужас какой. Пусть там твоему руководителю икнется...  Ладно. Таблицу ты создал. Теперь обходом в цикле по таб. части приходной накладной нужно заполнить таблицу.
27 jsmith
 
16.09.16
17:12
(25) И чо?
Цитирую (12)
Движения.Твойрегистр.Загрузить(ТЗ);
Понимаю, что ты допустил механическую ошибку, но зачем так нагло сейчас перевирать
28 Sv4org
 
16.09.16
17:35
(26) Ужас согласен.
Спасибо большое
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.