Имя: Пароль:
1C
1С v8
Таблица в таблице
0 Shalun
 
22.06.22
16:44
Всем привет, знатоки сие чдо-программы! Возникла потребность создать таблицу в таблице. Таблица нужна такого вида:

ДокументОснование1  Работа1  Количество1
                    ...          
                    РаботаN  Количество N
...                 ...  
ДокументОснованиеN  Работа1  Количество1
                    ...
                    РаботаN  КоличествоN

Вот не пойму, можно ли так сделать, и если можно то как?
Заранее благодарю всех авторов существенных ответов!
1 vicof
 
22.06.22
16:45
Дерево не?
2 azernot
 
22.06.22
16:50
В 1С 7.7 только так и делалось.

ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("ТЗ");

ТЗ.НоваяСтрока();
ТЗ.ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.ТЗ.НоваяКолонка("ТЗ");

ТЗ.ТЗ.НоваяСтрока();
ТЗ.ТЗ.ТЗ = СоздатьОбъект("ТаблицаЗначений");

И т.п.

В 8.х лучше всего для этого подходит Дерево, но если есть желание делать это именно в ТЗ - то, я думаю, тоже можно, но лично я никогда не провобовал.
3 lodger
 
22.06.22
16:53
(0) какой уровень абстракции?
это данные в Запросе
это данные в исполняемой среде (ТаблицаЗначений)
это данные на форме перед глазами юзера
это данные в табличном документе (печатная)?
4 RomanYS
 
22.06.22
16:56
(0) в данном случае даже дерево не особо нужно, просто обходи документы и отбирай по ним строки РаботаN через НайтиСтроки.
А так и дерево и ТЗ в колонке ТЗ возможны
5 ДедМорроз
 
23.06.22
00:20
Вообще-то,достаточно двух таблиц,в одной поле привязка будет указывать место размещения дочерних строк,а в другой,поле приаязки будет указывать принадлежность строк к конкретной ячейке первой таблицы.
6 Ненавижу 1С
 
гуру
23.06.22
00:38
Может вообще речь про отчёт?
7 Shalun
 
23.06.22
13:46
Ребята, всем спасибо за ответы! Пожалуй мне нужно уточнить.
Нужно создать табличную часть документа, которая будет хранить в себе эти данные.
8 SweetaAngel
 
23.06.22
13:51
Две табличный части и связать через ключ.

В современных конфигурациях можно посмотреть на примере "Поступления/Приобртениея товаров услуг работу" с табличной частью Прослеживаемость.
9 Shalun
 
23.06.22
14:41
(8) Очень интересно, но я ничего не понял. В моей КА 2.5.8.221 документа "Поступления/Приобртениея товаров услуг работу" нету. Можешь подробно написать в какой конфе можно глянуть пример? Спасибо.
10 SweetaAngel
 
23.06.22
15:43
(9) КА соответствует ЕРП там документ ПриобретениеТоваровУслуг

Но сейчас посмотрел там как-то по другому сделано. Вообще в ЕРП не нашел похожей реализации. Хотя у многих документов есть реквизит ИдентификаторСтроки и что-то похожее реализуется но конкретного примера не вижу.

В БП 3.0 есть докумнт ввод остатков форма ФормаНоменклатура

Там есть ТЧ НоменклатураНаСкладе и тч ДанныеПоСФ

Одной строке НоменклатураНаСкладе может соотвествовать несколько ДанныеПоСФ

Связь через реквизит  Ключ


Для номенклатуры

&НаКлиенте
Процедура НоменклатураНаСкладеПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)

    Если НЕ НоваяСтрока Тогда
        Возврат;
    КонецЕсли;
    
    СтрокаТаблицы.Ключ = Новый УникальныйИдентификатор;

&НаКлиенте
Процедура НоменклатураНаСкладеПриАктивизацииСтроки(Элемент)

Если СтрокаТаблицы <> Неопределено И ТипЗнч(СтрокаТаблицы.Номенклатура) <> Тип("Неопределено") Тогда
        
        ЭлементДанныеПоСФ.ОтборСтрок = Новый ФиксированнаяСтруктура("Ключ", СтрокаТаблицы.Ключ);
11 unenu
 
23.06.22
16:45
(10) это ж модель "Мастер-деталь", когда есть таблица "мастер" каждой строке которой "подчинена" другая таблица "деаталь". В конфах 8 куча таких примеров, да и подчиненные справочники ту да же.  

заседание кружка велосипедистов счиать открытым?
12 Serg_1960
 
23.06.22
17:18
"Дерево значений в таблицу значений или в табличную часть и обратно"
https://helpf.pro/faq83/view/1588.html
13 ДедМорроз
 
23.06.22
22:20
(11) По этому же принципу в 1с работают табличные части объектов,а идентификатор - это ссылка.