Имя: Пароль:
1C
1С v8
Запись Табличной части документа в регистр сведений
0 nvhost
 
17.08.13
18:56
Есть табличная часть документа в ней есть колонки пользователь, комментарий, нужно достать этот комментарий и пользователя и записать в регистр сведений, как это сделать, подскажите плиз?
1 Max Street
 
17.08.13
19:00
выгрузить ТЧ и загрузить в регистр сведений
2 Torquader
 
17.08.13
19:00
В регистр сведений, строку неограниченной длины - зачем ?
Неужели её нельзя достать из табличной части самого документа ?
3 nvhost
 
17.08.13
19:02
Делаю Так

ТЗ = Объект.Комментарии.Выгрузить()

Получаю Колонки, а как дальше капнуть что достать сами значения?
4 m-serg74
 
17.08.13
19:03
(0) а можно буду не скромным, а в чем информативность сего документа/рег. сведений?
5 Max Street
 
17.08.13
19:05
как-то так

Рег = РегистрыСведений.ИмяРегистраСведений;
НаборЗаписей = Рег.СоздатьНаборЗаписей();
ТЗ = ТЧ.Выгрузить();
НаборКурсов.Загрузить(ТЗ);
6 Max Street
 
17.08.13
19:05
*НаборЗаписей.Загрузить(ТЗ);
7 m-serg74
 
17.08.13
19:08
(6) вообще то этот регистр наверное должен фигурировать в Движениях оного документа? Не?
8 Max Street
 
17.08.13
19:10
(7) Не ко мне вопрос
9 Torquader
 
17.08.13
19:12
(7) Пока непонятно, зачем дублировать данные из документа в регистр сведений - единственное, чем можно объяснить такое - это желанием сохранить предыдущие записи после того, как пользователь их изменит, но тут уже нужен периодический регистр - иначе также как и в документе произойдёт затирание при записи.
10 m-serg74
 
17.08.13
19:19
(9) в БП 2.0 есть такой "интересный" РС ИПДаннныеПервичныхДокументов, если не ошибаюсь в точности названия, так вот Измерения - Организация и Документ, и когда в проведенном меняют Организацию, то почему то предыдущие записи не затираются а появляется еще одна - тот же документ и другая организация, так и не понял смысле сего действа
11 m-serg74
 
17.08.13
19:21
впрочем как и назначения этого регистра, ибо данные есть в самом документе
12 Aprobator
 
17.08.13
19:42
(9) для ускорения работы отчетов.
13 Начинающий_13
 
17.08.13
19:51
Экспортная процедура для сохранения данных документа в РС
Структура регистарв сведения
Измерения
ДокументСсылка
Обработка (Строка)
Ресурсы
Настройка (ХранилищеЗначения)

Процедура СохранитьНастройкиДокументов(ДокументСсылка, ОбработкаОбъект) Экспорт
    
    Если ЗначениеЗаполнено(ДокументСсылка) Тогда
        
        //сформируем структуру настроек
        СтруктураНастроек = новый Структура;
        Для каждого Ключ Из ОбработкаОбъект.Метаданные().Реквизиты Цикл
            СтруктураНастроек.Вставить(Ключ.Имя,ОбработкаОбъект[Ключ.Имя]);
        КонецЦикла;
        
        Для каждого ТЧ Из ОбработкаОбъект.Метаданные().ТабличныеЧасти Цикл
            СтруктураНастроек.Вставить(ТЧ.Имя,ОбработкаОбъект[ТЧ.Имя].Выгрузить());
        КонецЦикла;
        
        НаборЗаписей = РегистрыСведений.РС_ХранилищеДокументов.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.ДокументСсылка.Установить(ДокументСсылка);
        НаборЗаписей.Отбор.Обработка.Установить(Строка(ОбработкаОбъект));
        НаборЗаписей.Прочитать();
        Если НаборЗаписей.Количество() = 0 Тогда
            
            НоваяЗапись = НаборЗаписей.Добавить();
            НоваяЗапись.Настройка = Новый ХранилищеЗначения(СтруктураНастроек);
            НоваяЗапись.ДокументСсылка = ДокументСсылка;
            НоваяЗапись.Обработка = Строка(ОбработкаОбъект);
            
        Иначе
            //перезапишем настройку
            Запись = НаборЗаписей[0];
            Запись.Настройка = Новый ХранилищеЗначения(СтруктураНастроек);
            
        КонецЕсли;
        
        НаборЗаписей.Записать();
    КонецЕсли;
    
КонецПроцедуры

Процедура для документа

РаботаСДокументами.СохранитьНастройкиДокументов(СсылкаНаОбъект, ОбработкаОбъект);
14 Torquader
 
17.08.13
22:07
(10) Почему не затирается - понятно.
Если мы пишем Организация1 и Документ - то это один элемент виртуального массива (регистра), если мы пишем Организация2 и Документ - это уже другой элемент, а первый мы стереть не можем, так как для этого нужно знать прошлое значение организации, а его в момент проведения уже давно нет - оно пропало при записи.
15 m-serg74
 
17.08.13
23:16
(14) [Почему не затирается - понятно] - это то понятно, почему так сделано не понятно, затереть то не правильное легко нашел все записи, где учавствует в измерении этот документ и ели в них организация не та что теперь снес их нафиг, ибо они все равно не правильные, и рег. непериодический, в этом случае можно б было хоть предположить что для потомков разные записи оставляют)))