![]() |
|
Получить значение реквизита из табличной части документа | ☑ | ||
---|---|---|---|---|
0
theblockhead
05.06.18
✎
01:37
|
Доброй ночи, подскажите пожалуйста.
Получить значение не из табличной части Документ[реквизит.имя], а как например, если есть табличная часть "тест" со своими реквизитами ? |
|||
1
hhhh
05.06.18
✎
03:18
|
(0) Документ[табличнаячасть.имя][0][реквизит.имя]
это если из первой строки табличной части Если например 100-я строка табличной части, то Документ[табличнаячасть.имя][99][реквизит.имя] |
|||
2
theblockhead
05.06.18
✎
12:25
|
(1) А можно еще вопрос, получается если хочу обойти все данные из документа, мне надо обойти все его реквизиты, а также все реквизиты табличной части и получается все её строки ?
Немного не понимаю этих моментов. Задача была вывести документ в текстовый формат(csv, txt) с помощью метаданных (только вот документ любой). |
|||
3
hhhh
05.06.18
✎
12:28
|
(2) ну конечно в текстовый файл ты все строки должен добавить. Это не обсуждается.
|
|||
4
1Сергей
05.06.18
✎
12:29
|
(2) используй Для Каждого...
|
|||
5
theblockhead
05.06.18
✎
12:31
|
(3) (4) ДокументДляВыгрузкиСсылка = ЭтаФорма.ЭлементыФормы.ДокументСсылка.Значение.Ссылка;
РеквизитыДокумента = ДокументДляВыгрузкиСсылка.Метаданные().Реквизиты; Текст = Новый ТекстовыйДокумент; Для Каждого РеквизитДокумента Из РеквизитыДокумента Цикл Текст.ДобавитьСтроку("" + РеквизитДокумента.Имя + ":" + ДокументДляВыгрузкиСсылка[РеквизитДокумента.Имя] ); КонецЦикла; ТЧДокумента = ДокументДляВыгрузкиСсылка.Метаданные().ТабличныеЧасти; Для Каждого ТекТЧДокумента Из ТЧДокумента Цикл СсылкаТЧ = ДокументДляВыгрузкиСсылка[ТекТЧДокумента.Имя]; Для каждого строкаТЧ Из ТекТЧДокумента.Реквизиты цикл Текст.ДобавитьСтроку("" + строкаТЧ.Имя + ":" + ???СсылкаТЧ[0].[строкаТЧ.Имя]??????); КонецЦикла; КонецЦикла; Текст.Записать(ИмяФайла); Я это сделал, вот теперь вопрос как проверить сколько строк в табличной части или я что-то не поянл |
|||
6
VitShvets
05.06.18
✎
12:37
|
:) См (4):
Для каждого ТекСтрока Из ДокументДляВыгрузкиСсылка[ТекТЧДокумента.Имя] Цикл |
|||
7
1Сергей
05.06.18
✎
12:38
|
(5)
Для каждого строкаТЧ Из ТекТЧДокумента.Реквизиты цикл Для Каждого СтрокаТЧ ИЗ СсылкаТЧ Цикл Текст.ДобавитьСтроку("" + строкаТЧ.Имя + ":" + СтрокаТЧ[строкаТЧ.Имя]); Как-то так |
|||
8
hhhh
05.06.18
✎
12:38
|
Для каждого стр Из СсылкаТЧ цикл
Для каждого строкаТЧ Из ТекТЧДокумента.Реквизиты цикл Текст.ДобавитьСтроку("" + строкаТЧ.Имя + ":" + стр[строкаТЧ.Имя]); КонецЦикла; КонецЦикла; |
|||
9
1Сергей
05.06.18
✎
12:38
|
(7) ох, блин. Не читай (7)
|
|||
10
hhhh
05.06.18
✎
12:38
|
еще номер строки тч надо по идее
|
|||
11
theblockhead
05.06.18
✎
12:42
|
(10) (6) (9) Спасибо большое, постараюсь разобраться. Меньше недели в 1С, до этого опыт был с другими языками. Уже и 1С разонравился, но просто "спортивный интерес" закончить начатое.
|
|||
12
theblockhead
05.06.18
✎
12:53
|
(10) ТЧДокумента = ДокументДляВыгрузкиСсылка.Метаданные().ТабличныеЧасти;
Для Каждого ТекТЧДокумента Из ТЧДокумента Цикл СсылкаТЧ = ДокументДляВыгрузкиСсылка[ТекТЧДокумента.Имя]; Для каждого стр Из СсылкаТЧ цикл Для каждого строкаТЧ Из ТекТЧДокумента.Реквизиты цикл Текст.ДобавитьСтроку("" + строкаТЧ.Имя + ":" + стр[строкаТЧ.Имя]); КонецЦикла; КонецЦикла; КонецЦикла; Сделал так, теперь читает только реквизиты документа, а в табличной части не читает. Что - то не так пошло :( |
|||
13
Гипервизор
05.06.18
✎
12:56
|
(11) "1С разонравился"
Зря вы это написали ) |
|||
14
theblockhead
05.06.18
✎
13:03
|
(13) Да не привычно все как-то, задание дали сразу такое, поэтому кроме негатива пока ничего нет, может когда результат будет изменю свое мнение
|
|||
15
1Сергей
05.06.18
✎
13:48
|
(14) Кроме 1С есть опыт с языками программирования?
|
|||
16
theblockhead
05.06.18
✎
13:52
|
(15) C#, js, C++
|
|||
17
1Сергей
05.06.18
✎
14:09
|
(16) тогда будешь плеваться на 1С. Это неизбежно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |