Имя: Пароль:
1C
1С v8
Таблица значений
,
0 hello19
 
02.07.12
19:12
Здравствуйте, форумчане!
Скажите, можно ли в таблице значений, в которой 3 столбца фиксировать и искать значение 3-го столбца по значению второго?
Сложновато написал)

Вообщем как перейти от такой таблицы значений:
х у коэффициент
1 1 10
1 3 100
2 1 100
2 2 20
2 3 1000

К такой:
х у коэффициент
1 1 1
1 3 10
2 1 5
2 2 1
2 3 50


нашли коэффициент у которого х=у (=1) и поделели все коэффициенты в строчке, в которой х=1 (у пробегает значения 1 и 3)
Потом перешли туда, где х = 2. Нашли там коэффициент, где х=у и поделили все коэффициенты с х=2 (у пробегает значения 1, 2, 3)
1 GROOVY
 
02.07.12
19:15
То ли спать пора, то ли я тупой, но ничего не понял.
2 Fragster
 
гуру
02.07.12
19:17
(1) лабораторная работа, что...
(0) запросом?
3 hello19
 
02.07.12
19:19
GROOVY - просто надой найти в таблице коэффициенты у которых х=у и поделить все коэффициенты на это значение при данном х
4 hello19
 
02.07.12
19:20
х у коэффициент
1 1 10
1 3 100

Находим тут коэффициент у которого х=у (=1) это 10
делим на него все коэффициенты с таким х
Получаем:
х у коэффициент
1 1 1
1 3 10
5 hello19
 
02.07.12
19:21
Fragster как запрос должен выглядеть?
6 Fragster
 
гуру
02.07.12
19:24
(5) делаешь временную таблицу с коэффициентами, делаешь левое соединение твоей таблицы с этой таблицей и делишь как надо
7 GROOVY
 
02.07.12
19:24
Из первой таблицы я вижу только две строки где x = y
1 1 10
2 2 20

Не... я ваще туплю видимо по страшному...
8 hello19
 
02.07.12
19:26
GROOVY да, правильно все этим строкам соответствую коэффициенты 10 и 20 соответственно.
Вот на них и делим:
там где х=1 делим на 10 при всех у
там где х=2 делим на 20
9 GROOVY
 
02.07.12
19:28
ААААААААААаааааааааааааааааааа! Емае....
Запросом не взлетит.
10 hello19
 
02.07.12
19:29
Всмысле не взлетит?
11 hello19
 
02.07.12
19:31
покажите, как сделать запросом
12 GROOVY
 
02.07.12
19:31
При фиксированном количестве строк запросом такую задачу решить можно, при динамическом - нет.
13 hello19
 
02.07.12
19:31
можно ли без использования временной таблицы
14 GROOVY
 
02.07.12
19:33
(13) Еще раз внимательно читаем (12) и думаем.
15 ILM
 
гуру
02.07.12
19:33
ВЫБРАТЬ X, Y,
ВЫБОР КОГДА Х=1 ТОГДА Коэффициент/10 ИНАЧЕ Коэффициент/20 Конец КАК Коэффициент
ИЗ ТАБЛИЦА

Как то так, йопта
16 Fragster
 
гуру
02.07.12
19:34
(12) ты про возможность нескольких строк с разными коэффициентами для одного Х?
17 GROOVY
 
02.07.12
19:36
(16) Если Кол строк с Х=1 неопределено Тогда полная фигня с запросом.
18 hello19
 
02.07.12
19:36
ILM - а если в таблице 1000 строк? просто так не сделаешь

GROOVY - количество строк фиксированно (около 10 000)
Но я сейчас решаю на примере 5 строк
19 Fragster
 
гуру
02.07.12
19:38
(17) ну, это у автора надо спросить, сколько у него строк с х=у=1
20 hello19
 
02.07.12
19:39
(19) в любом случае это количество фиксированно.
Пока с х=1 2 строки, с х=2 - 3 строки
21 GROOVY
 
02.07.12
19:39
(19) 10000 или около того ;)

Ребята, удачи с решением проблемы...
22 Fragster
 
гуру
02.07.12
19:41
(20) не с х=1, а с х=у=какое-то число. т.е. тот самый коэффициент - он однозначный?
23 hello19
 
02.07.12
19:42
(21) как решить задачу для 5 строк?
я просто хочу запустить цикл, но не знаю как обращатсья к эмелентам таблице если в ней несколько столбцов.
Думал просто выделять куски, где х имеют одно значение:
       Отбор = Новый Структура ("х", а);
       Строка = Коэффициенты.НайтиСтроки(Отбор);

а меняется от 1 до 2 в моем случае
Строка в даном случае массив строк - не знаю как работать с ними...
24 hello19
 
02.07.12
19:42
(22) да, коэффициент однозначный
25 hello19
 
02.07.12
19:43
сли кому интересно, то это просто матрица в таблице значений - матрица коэффициентов системы уравнений
26 ILM
 
гуру
02.07.12
19:43
Йопта, тогда так

ВЫБРАТЬ Х, Y, Коэффициент/(X*10) КАК Коэффициент ИЗ Таблица

И не учите отцов, что в СиКуЭле можно, а что нельзя )))
27 hello19
 
02.07.12
19:45
(26) почему му делим на х*10 ?
Делить надо на значение коэффициента. Коэффициент в той строчке, где х=у
28 Fragster
 
гуру
02.07.12
19:46
Выбрать
 Таблица.х, Таблица.К
Поместить Коэффициенты
Из Таблица
ГДЕ х=у;

Выбрать
 Таблица.х,Таблица.у,Таблица.к/ЕстьNULL(Коэффициенты.К) как К
Из Таблица Левое соединение Коэффициенты по Таблица.х = Коэффициенты.х
29 hello19
 
02.07.12
19:47
(28) что значит "Поместить Коэффициенты"
30 Fragster
 
гуру
02.07.12
19:49
справка - содержание справки - встроенный язык - работа с запросами
31 ILM
 
гуру
02.07.12
19:49
Блин, нужно было (0) Прочитать )))

ВЫБРАТЬ РАЗЛИЧНЫЕ X, Коэффициент
ПОМЕСТИТЬ МВТ_ТАБ ИЗ ТАБЛИЦА
;
ВЫБРАТЬ Т1.Х, Т1.Y, T1.Коэффициент/T2.Коэффициент
ИЗ ТАБЛИЦА КАК Т1
ЛЕВОЕ СОЕДИЕНЕНИЕ МВТ_ТАБ КАК T2
ПО Т1.X = T2.X

Опаньки ....

НАдеюсь X=Y есть для всех строк )))
32 ILM
 
гуру
02.07.12
19:51
Ну в первой части запроса
ГДЕ T1.X=T1.Y
33 ILM
 
гуру
02.07.12
19:52
ВЫБРАТЬ РАЗЛИЧНЫЕ X, Коэффициент
ПОМЕСТИТЬ МВТ_ТАБ ИЗ ТАБЛИЦА
ГДЕ X=Y
;
ВЫБРАТЬ Т1.Х, Т1.Y, T1.Коэффициент/T2.Коэффициент
ИЗ ТАБЛИЦА КАК Т1
ЛЕВОЕ СОЕДИЕНЕНИЕ МВТ_ТАБ КАК T2
ПО Т1.X = T2.X
34 hello19
 
02.07.12
19:52
можете целиком запрос написать
35 Fragster
 
гуру
02.07.12
19:52
(34) неа
36 hello19
 
02.07.12
19:52
(35) пост не Вам адресован
37 hello19
 
02.07.12
19:56
(33) а что за Т2? что это аз таблица?
38 Fragster
 
гуру
02.07.12
19:57
какая молодежь наглая пошла
39 experimentator76
 
02.07.12
20:26
(38) нам на смену)))))