|
Программно скопировать строки с отбором в тч |
☑ |
0
synapce
09.03.22
✎
16:23
|
Всем привет.
Есть табличная часть, Товары, где есть Номенклатура Цена ВидТовара
Проводим сверку с другой табличной частью Товары_копия Где есть Номенклатура Цена ВидТовара
И если к примеру строке в Товары соответствует две строки в Товары_копия (по одной номенклатуре есть три записи с разным ВидТовара во второй ТЧ), то необходимо в ТЧ Товары сделать копию одной и той же строки (столько строк, сколько соответствует во второй ТЧ), а затем уже заполнить по каждой ВидТовара из Второй тч.
Как заполнить ВидТовара разобрался, но вот - как скопировать по отбору строки и добавить их в первую?
Я делаю как
в тз = выгружаю всю табличную часть
затем в ней провожу отбор.
заливаю результат в тз_отобранная
Затем в цикле, исходя из найденных количеств строк пишу, что
- Перем = табличная часть.Добавить()
- ЗаполнитьЗначенияСвойств(Перем, тз_отобранная)
Но не работает, подскажите, в какую сторону копать или решение, если есть, чтобы поанализировать, а то врезался в стену))
Заранее всем спасибо за ответ!
|
|
1
lodger
09.03.22
✎
16:33
|
а попробуй в
"- ЗаполнитьЗначенияСвойств(Перем, тз_отобранная)"
написать СтрокаТЗ из отобранной.
|
|
2
synapce
09.03.22
✎
16:40
|
(1) т.е. - перебрать строки из отобранной?
Пишу - для каждого стр из тз_Отобранная
- Перем = табличная часть.Добавить()
- ЗаполнитьЗначенияСвойств(Перем, стр)
ничего не заполняет, к сожалению..
|
|
3
Asmody
09.03.22
✎
16:45
|
Перем ключевое слово
|
|
4
synapce
09.03.22
✎
16:47
|
(3) не, это понятно, я так для примера.
грубо говоря сейчас
- МойПараметр= табличная часть.Добавить()
- ЗаполнитьЗначенияСвойств(МойПараметр, тз_отобранная)
|
|
5
pechkin
09.03.22
✎
16:54
|
ТЗ.Скопировать(СтруктураОтбора)
|
|
6
synapce
09.03.22
✎
16:57
|
(5) так и сделал. Скопировал нужные строки. А теперь как этот результат, который ТЗ.Скопировать(СтруктураОтбора) залить в первую ТЧ? (надо оставить всю табличную часть, а эти строки скопированные - добавить ниже, ни в коем случае не заменять собой всю имеющуюся ТЧ)
|
|
7
pechkin
09.03.22
✎
17:05
|
(6) ТЧ.Загрузить(ТЗ)
|
|
8
1Сергей
09.03.22
✎
17:05
|
(6) ты бы весь код скинул. Гадания на кофейной гуще - занятие неблагодарное
|
|
9
pechkin
09.03.22
✎
17:05
|
если добавить, то только построчно
|
|
10
Said_We
09.03.22
✎
17:26
|
(0) Всю информацию в 1С SQL запрос. Подготавливаешь нужную информацию со всеми отборами и нужной структуры и обратно в ТЧ заливаешь.
|
|
11
acht
09.03.22
✎
18:09
|
(10) > в 1С SQL запрос
Скажите, а вы 2 на 2 контекстным серверным вызовом умножаете?
|
|
12
lodger
09.03.22
✎
18:10
|
(11) ещё и субд напрягает.
|
|
13
Said_We
09.03.22
✎
18:35
|
(11) Данная задача проще решается запросом - на мой взгляд. Тут левое соединение двух таблиц + условие.
(12) Чего его там напрягать. Табличные части наверняка не большие. А если большие, то как раз пусть СУБД и ворочает.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший