Таблица значений - вычесть значения 1й ТЗ из 2й без обхода строк, можно ? #600745


#0 by Холст
сабж есть ТЗ1 и ТЗ2 с колонками Товар/Остаток в ТЗ1 Товар1 остаток 10 Товар2 остаток 23 в ТЗ2 Товар1 остаток 4 Товар2 остаток 6 значения остатков ТЗ2 надо вычесть из соотв значений остатка ТЗ1 т.е. получить новую ТЗ Товар1 остаток 6 (10 минус 4) Товар2 остаток 17 как это сделать без обхода ТЗ ?
#1 by shadow_sw
как вариант - выгрузить все в третью ТЗ, остатки ТЗ2 ставить отрицательными, свернуть по товару
#2 by Попытка1С
У тебя вроде индексированная есть, вот юзай. Разность / Difference Параметры: ТЗ2 - тип: ИндексированннаяТаблица. Таблица, с которой строится разность. ИндексТекущейТЗ - тип: Строка, Число. Имя или номер индекса в текущей таблицы. ИндексВторойТЗ - тип: Строка, Число. Имя или номер индекса в ТЗ2. флДобавлятьСтрокиТЗ2 - тип: Число. Флаг добавления строк ТЗ2 в результат. Описание: разность двух таблиц по ключевым полям. Результатом является таблица, в которой присутствуют строки текущей ТЗ, которых нет в ТЗ2, и строки ТЗ2, которых нет в текущей ТЗ (с учетом флДобавлятьСтрокиТЗ2). Совпадение строк определяется по индексам ИндексТекущейТЗ и ИндексТЗ2. Количество колонок в индексах должно быть одинаковым.
#3 by Рэйв
>>Результатом является таблица, в которой присутствуют строки текущей ТЗ, которых нет в ТЗ2, и строки ТЗ2, которых нет в текущей ТЗ Там немного другая разность имеется в виду:-)
#4 by Рэйв
Таблицы в запрос и там вычитать.
#5 by Рэйв
+С соединением по товару естественно
#6 by Kassius
всегда делал как в , зачем придумывать велосипед.
#7 by Песец
Штатно без обхода в семерке никак. Я бы сделал так: Создать тз3 с тремя колонками 1. Товар 2. Остаток1 3. Остаток2 Загрузить из тз1 в Товар, Остаток1 Загрузить из тз2 в Товар, Остаток2 Свернуть по Товар суммируя Остаток1, Остаток2 Имеем всегда под рукой Товар и (Остаток1-Остаток2) Но если надо например загружать тз в тч документа "Товар, Сумма", то без обхода никак. Например, создать колонку "Сумма" и обойти тз проставив разницу.
#8 by dk
можно было бы легко, штатно, без обхода, если в ТЗ2 отрицательные значения т.е. потребуется 1 обход ТЗ2 для смены знака остатков
#9 by Ёпрст
ну-ну
#10 by Ёпрст
можно
#11 by Ёпрст
и без обхода строк вообще, если что
#12 by andrewks
как с минусом без обхода решить?
#13 by Песец
Давайте все хором: "Про-сим! Про-сим! Про-сим!" :)
#14 by povar
Заполнить
#15 by andrewks
->
#16 by povar
имеешь ввиду как минус проставить без лбхода ?
#17 by andrewks
ага
#18 by povar
тоже элементарно
#19 by andrewks
временная ТЗ + ЗанчениеВСтрокуВнутр?
#20 by Холст
была мысль с помощью ЗначениеВСтрокуВнутр + СтрЗаменить (вот здесь покопаться какой  фрагмент менять) + ЗначениеИзСтрокиВнутр, но что-то сомнения по поводу быстродействия этого варианта, особенно на ТЗ в 3тыс строк
#21 by Mikeware
заинтриговали
#22 by ЧеловекДуши
Бред :)
#23 by Попытка1С
ТЗ в 3 тыс ни о чем вообще.
#24 by povar
это даже не таблица, а так, табличка... )
#25 by aka MIK
Так как поменять знак?
#26 by Ёпрст
в строке заменить
#27 by aka MIK
Дык кода получится в 5 раз больше чем перебором, х-ня какая-то
#28 by Ёпрст
? Да ну ? выгрзуить, стрЗаменить, Заполнить-свернуть
#29 by Mikeware
выгрузить одну колонку? :-)
#30 by aka MIK
И что ты стрзаменишь? Без регвыражений Например, колонка шириной 10, числа в строках 1 и 574
#31 by Ёпрст
ну п..ц Выгрузить 1 колонку в СписокЗначений, далее значениВСтроку, далее СтрЗаменить("""Число""",","""Число""",-") далее обратно в список и в Заполнить всё
#32 by Ёпрст
если там были отрицательные, то действий немного больше
#33 by Ёпрст
заменить минус на любой знак, далее проставить минус, далее прибить знак.
#34 by МихаилМ
предлогаю фантастический вариант. сам проверять сейчас не буду использовать объект АнализДанных думаю его можно научить делать прогноз, что Х будет -Х   или может там есть обучение с учителем. на большой выборке обучения погрешность стремится к 0
#35 by МихаилМ
Ошибся - думал тема по восьмерке.
#36 by aka MIK
Колонка таблицы списком не заполняется :) А напрямую обрабатывать значениевстрокувнутр(ТЗ) геморно из-за пробелов в представлении числа
#37 by Ёпрст
с абрикоса упал ? Синтаксис: Заполнить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки>) Назначение: Заполнить соответствующие ячейки таблицы значений переданным значением. Параметры: <Знач> - значение одиночное или !!!!!!!список значений!!!!!!! или таблица значений.
#38 by Ёпрст
ЗначениеВСтроку<>ЗначениеВСтрокуВнутр, читай внимательнее
#39 by aka MIK
А ты попробуй :) Это тебе не восьмерка Без разницы
#40 by Ёпрст
Ты взаправду, или придуряешься ?
#41 by Ёпрст
Наслаждайся
#42 by Креатив
Вот извращены.)))
#43 by aka MIK
если перед ТЗ.Выгрузить(Т,,,"Было"); поставить то нифига не заполнит. Такой вот глючок-с :)
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С