Имя: Пароль:
1C
1С v8
Помогите с алгоритмом
0 Aston
 
06.02.12
14:30
Есть 2 таблицы:
1ая:
А B -100
А С 200

2ая:
A X 150
A Y -50

Итого по А сумма в обеих таблицах равна 100 (должны совпадать).
Нужна общая таблица для закрытия всех сумм сразу (по обоим регистрам). В голове мысль пришла сразу:

Должна быть таблица:
A B X -100
A B Y 0 (Необязательная строчка)
A C X 250
A C Y -50...

а вот алгоритм ее получения не идет...
Как получить результирующую таблицу из исходных?
1 Aston
 
06.02.12
14:46
Т.е. есть два регистра:
1 измерение - общее, второе - различное.
Чтобы закрыть два регистра нужно предложить пользователю результирующую таблицу... Чтобы он в ней мог что-то руками подправить.
2 таблицы пользователю предлагать бесполезно.
2 Рэйв
 
06.02.12
14:48
Какие интересные новшества. Закрывать регистры друг на друга...
А то что сами они поотдельности пойдут в полный раздрай - это ничего?
3 Ненавижу 1С
 
гуру
06.02.12
14:50
неоднозначно даже здесь (если значений измерений будет больше - тем более)
четыре переменные, три уравнения
4 kosts
 
06.02.12
14:54
А записи в обоих таблицах по "А" одновременно вносятся?
5 Aston
 
06.02.12
14:56
(4) не всегда. В некоторых документах вместе, но могут и отдельно.
6 Живой Ископаемый
 
06.02.12
14:56
не понял как поличилось рельтирующая таблица
7 kosts
 
06.02.12
14:58
Озвучь задачу подробнее. Так мало что можно предложить...
8 Живой Ископаемый
 
06.02.12
15:01
капец...

не понял как получилась результирующая таблица
9 Aston
 
06.02.12
15:05
(7) есть 2 регистра.
Таблица 1 и Таблица 2.

По одному измерению совпадает детализация. По второму - не совпадает. (на самом деле измерений там, конечно, больше порядка 7 в каждом, но это уже не важно)

Есть документ, который предназначен для закрытия обоих регистров сразу. Но пользователь может в нем менять данные, если не хочет закрывать полностью, что-то.

(8) результирующая таблица - это таблица, благодаря которой пробежавшись по ней закроем и регистр 1 и регистр 2... Как она получилась, я тоже не знаю... Система уровнений, видимо, инстинктивно у меня решилась)
10 Aston
 
06.02.12
15:08
+(8) в результирующей таблице при группировке по полю 1, 2 получим таблицу 1.
При группировке по полям 1,3 получим таблицу 2.
11 Живой Ископаемый
 
06.02.12
15:10
я пас, ничего не прояснилось...
12 Ненавижу 1С
 
гуру
06.02.12
15:41
ответ в (3)
13 Ненавижу 1С
 
гуру
06.02.12
15:44
вот схема

_|_X_Y_
|
B| p q
|
C| r s
|

p+q=B
r+s=C
p+r=X
q+s=Y

но, т.к. X+Y=B+C - уравнений всего 3, а переменных 4 - одного решения не будет!
в общем случае уравнений будет m+n-1<m*n - переменных
14 Михаил Козлов
 
06.02.12
16:21
Похоже, речь идет о решении (возможно, недоопределенной) системы линейных уравнений (с коэффицинтами = 1).
Попробую, так:
Xi - искомые неизвестные. Индекс i = (i1,i2,i3).
i1 - разные значения общего измерения (в нашем случае - A)
i2 - разные значения 2-ого измерения 1-ого регистра(в нашем случае - B и C)
i3 - разные значения 2-ого измерения 2-ого регистра(в нашем случае - X и Y)
Тогда условия выглядят так:
СУММА(Xi) (по i = (i1=A,i2=B-C,i3)) = ЗНАЧ(i1,i2).
СУММА(Xi) (по i = (i1=A,i2,i3=X-Y)) = ЗНАЧ(i1,i3).
Т.к. переменных больше, чем уравнений, то система уравнений (скорее всего) имеет неединственное решение. Можно попробовать как-то получить одно решение.
15 Михаил Козлов
 
06.02.12
16:21
Собственно, в (13) это и написано.