Имя: Пароль:
1C
1С v8
Проверка вхождения в табличное поле
0 Jane_792
 
01.05.14
12:19
На форме есть два табличных поля,  данные в которых формируются запросами.
В первом табличном поле 3 колонки и много строк. Во втором 2 колонки и только одна строка. Структура ТП одинаковая, 2 колонки полностью совпадают.
Нужно проверить есть ли в первом табличном поле строка с данными из второго поля и  если есть вывести значение третьей колонки в поле вывода, расположенного на этой же форме.
Как это можно реализовать?
96 Wobland
 
01.05.14
16:43
+(93) пока не устаканится в голове разница между собсвтенно данными и их структурой, метаданными, ехать дальше бесполезно
97 Torquader
 
01.05.14
16:44
(94)
Кому-то сук не по зубам,
А кто-то целое полено
Готов хоть сразу Ам-ам-ам,
И море щепок по колено.
98 Jane_792
 
01.05.14
16:44
Torquader, да, вы абсолютно правы!:)
99 Torquader
 
01.05.14
16:45
(98) А "умная программа" должна ему предложить наиболее удачный выбор по тем параметрам, которые он выбрал ?
То есть это уже ближе к анкетированию получается ?
100 Wobland
 
01.05.14
16:45
что-то устал я воспитывать.. меня тут падаван на днях разными словами называл за такое. а и был прав
101 Torquader
 
01.05.14
16:46
(100) Ну, у вас их там много - видимо - на всех не хватает.
102 Jane_792
 
01.05.14
16:46
Нет никакой умной программы! программа уровня плинтуса. Вы каждый раз фантазируете на заданную тему, не слыша автора поста:)
Суть в том чтобы программа банально выдавала ответ из справочника по заданным предпосылкам также из справочников
103 Torquader
 
01.05.14
16:47
(102) Понятно, только вопрос в том, как это всё будет хранится внутри программы ?
И может ли пользователь выбирать несколько значений одного типа ?
104 Torquader
 
01.05.14
16:48
В общем - у вас "измерения" - это то, что выбрал пользователь, а "ресурс" - это то, что он получит на выходе ?
105 Jane_792
 
01.05.14
16:49
ООО, да, именно
измерение - предпосылки
вывод- ресурс
106 Wobland
 
01.05.14
16:49
и не надо даже близко рассматривать предложенный мной вариант, не стоит он того
107 Torquader
 
01.05.14
16:50
(105) Вот теперь скажите мне - зачем нужно было рассказывать столько много "интересного" про абстрактную постановку задачи ? Чтобы мы целых 100 постов задавались вопросом - а при чём тут 1С ?
108 Wobland
 
01.05.14
16:50
(105) сколько предпосылок-измерений мадмуазель предпочитает в это время суток?
109 Jane_792
 
01.05.14
16:50
Суть в том, что какой-то чувачок вбивает правила.
Пользователь их не знает, но у нее есть какая-то задача (Что-то подобрать)
и он щелкает на полях выбора где ему предлагаются значения из справочника
и уже когда выбор всех полей сделан - ОПА! выдается вывод как в правилах
110 Torquader
 
01.05.14
16:51
Короче - два динамических списка по данным справочников (или более двух, если предпосылок будет больше) и одно окно с результатом, в котором выводится ответ из регистра сведений.
111 Jane_792
 
01.05.14
16:52
(110) , И?
112 Torquader
 
01.05.14
16:53
Ну и что тут сложного - выбор по табличным полям - получить значение текущей строки, потом кнопка - получить результат (можно и без неё, но форма будет обновляться при каждой смене выбора - а это не есть хорошо), а по кнопке - запрос в регистр и вывод результата в реквизит.
"Задача для котёнка" - если не ставить её на таком уровне абстракции.
P.S. а кто вы по образованию ?
113 Jane_792
 
01.05.14
16:54
Техничка в детской саду
114 Jane_792
 
01.05.14
16:54
детском
115 Torquader
 
01.05.14
16:54
Как вариант, можно не таблицу показывать, а просто поле - чтобы пользователь сам там выбирал (по кнопочке), тогда будет проще отследить выбор.
116 Jane_792
 
01.05.14
16:54
чуть умнее котенка
117 Torquader
 
01.05.14
16:54
(114) И зачем вам там 1С ?
118 Torquader
 
01.05.14
16:55
(116) Так, мы уже практически полностью подошли к реализации, а вы отвлекаетесь.
119 Jane_792
 
01.05.14
16:55
дядя  Torquader, решите задачу для котенка:** мяяяяяу
120 Jane_792
 
01.05.14
16:56
да шуткую я (весьма неудачно), какая техничка в самом деле. Просто мое образование никак не поможет в решении задачи
121 Torquader
 
01.05.14
16:58
(120) Образование во всём помогает - просто им надо пользоваться и верить в себя, а не в чужого дядю, который тоже может оказаться "ещё той птицей".
122 Jane_792
 
01.05.14
17:01
Может быть Вы все-таки поможете, ибо одной верой в отсутствии знаний тут не управиться
Ну, что Вам стоит
123 Jane_792
 
01.05.14
17:01
Задача то для котенка:)))
124 Wobland
 
01.05.14
17:01
(122) о великий учитель
125 Torquader
 
01.05.14
17:04
(123) Я, конечно, извиняюсь, но у меня обычно задача сводится к топлению котёнка в собственных слезах.
126 Jane_792
 
01.05.14
17:04
Ну, и Бог Вам судья
127 Jane_792
 
01.05.14
17:05
PS В моих слезах места хватит нам ВСЕМ
128 Wobland
 
01.05.14
17:06
(127) как-то можно отмазаться от этого?
129 Torquader
 
01.05.14
17:07
(126) Ну, сейчас посмотрю, что там можно сделать - для этого же нужно что-то написать.
130 Torquader
 
01.05.14
17:08
(127) Нет, вы видели ? Котята только родились, а уже угрожают всех порвать - прям камышовые.
131 Wobland
 
01.05.14
17:11
(129) для этого сначала нужно что-то поместить в ЛК. не уважаешь традиции?
132 Wobland
 
01.05.14
17:11
+(131) пол менять не обязательно, что уж там..
133 Jane_792
 
01.05.14
17:12
Что конкретно нужно помещать в ЛК?
134 Wobland
 
01.05.14
17:13
135 Jane_792
 
01.05.14
17:14
Если я семидесятилетняя страшная женщина с морщинами глубиной в Марианскую впадину, то добрые дяденьки мне не помогут?
136 Wobland
 
01.05.14
17:16
(135) зайдёмся эстетическим восторгом
137 Jane_792
 
01.05.14
17:16
Check it
138 Wobland
 
01.05.14
17:17
(137) оо, что Вы делаете сегодня вечером, девушка?
139 Jane_792
 
01.05.14
17:17
Переписываюсь с 2 очаровательными мужчинами
140 Torquader
 
01.05.14
17:18
(139) Ну, по почте и баба-яга - ягодка.
141 Wobland
 
01.05.14
17:19
(139) дед не возражает?
142 Jane_792
 
01.05.14
17:20
Хотите сказать, что я недостаточно хорошо выгляжу!?
143 Jane_792
 
01.05.14
17:20
Дед уже умер;)) я свободна
144 Torquader
 
01.05.14
17:21
Короче, у меня дома только 8.3, так что напишу только то, что есть.
Берём форму, кидаем на неё два табличных поля:
Хар1 - табличное поле с данными справочника Размер.
Хар2 - табличное поле с данными справочника Рост.
(Это левая и правая таблицы на форме)
Внизу реквизит с именем Рез1 и типом Справочник.Вес.

На форме кнопка "Утопить котёнка":
И вот её процедура:
[Code1C]
    // Вставить содержимое обработчика.
    лспр1=ЭлементыФормы.Хар1.ТекущаяСтрока;
    Если НЕ ЗначениеЗаполнено(лспр1)Тогда
        Сообщить("Пользователь не выбрал характеристику 1");
        Возврат;
    КонецЕсли;
    лспр2=ЭлементыФормы.Хар2.ТекущаяСтрока;
    Если НЕ ЗначениеЗаполнено(лспр2)Тогда
        Сообщить("Пользователь не выбрал характеристику 2");
        Возврат;
    КонецЕсли;
    // попробуем запросом
    лзпр=Новый Запрос;
    лзпр.Текст="ВЫБРАТЬ
               |    РегистрСведений1.Вес КАК НашВес
               |ИЗ
               |    РегистрСведений.РегистрСведений1 КАК РегистрСведений1
               |ГДЕ
               |    РегистрСведений1.Размер = &НашРазмер
               |    И РегистрСведений1.Рост = &НашРост";
    лзпр.УстановитьПараметр("НашРазмер",лспр1);
    лзпр.УстановитьПараметр("НашРост",лспр2);
    лрзп=лзпр.Выполнить();
    Если лрзп=НЕОПРЕДЕЛЕНО Тогда
        Сообщить("Что-то пошло не так при выполнении запроса, и котёнок остался жив");
        Возврат;
    КонецЕсли;
    Если лрзп.Пустой()Тогда
        Сообщить("Для данной комбинации размера и веса не задан камень, который утопит котёнка");
        Возврат;
    КонецЕсли;
    лвыб=лрзп.Выбрать(ОбходРезультатаЗапроса.Прямой);
    Если НЕ лвыб.Следующий()Тогда
        Сообщить("Толи он есть, толи его нет - это же очень странный ответ");
        Возврат;
    КонецЕсли;
    Рез1=лвыб.НашВес;
    Сообщить("Успешного топления");
[/Code1C]
145 Torquader
 
01.05.14
17:22
Так устроит - или за вас ещё и форму нарисовать надо ?
146 Wobland
 
01.05.14
17:23
(144) лспр1=ЭлементыФормы.Хар1.ТекущаяСтрока;
лзпр.УстановитьПараметр("НашРазмер",лспр1);

прямо вся строка в запрос пойдёт?
147 Torquader
 
01.05.14
17:23
(146) Там же строка - ссылка на элемент справочника - в чём проблема-то ?
148 Wobland
 
01.05.14
17:23
>Если лрзп=НЕОПРЕДЕЛЕНО Тогда
и тут ты что-то перемудрил
149 Wobland
 
01.05.14
17:24
(147) а это не ТП?
150 Torquader
 
01.05.14
17:24
ЭлементыФормы.Хар1.ТекущаяСтрока - тип - СправочникСсылка.Размер - как бы, ничего другого-то не ожидали.
151 Wobland
 
01.05.14
17:24
(147) ТП. пусть и с одной колонкой. запрос не поймёт
152 Wobland
 
01.05.14
17:25
(150) ну тогда сдаюсь, у меня откладчик укран
153 Torquader
 
01.05.14
17:25
(151) Ну, работает и понимает, так что - нет вопросов.
154 Torquader
 
01.05.14
17:26
Табличное поле - тип данных СправочникСписок.Размер
155 Torquader
 
01.05.14
17:27
(148) Если запрос написан криво, то в результате исполнения выдаётся НЕОПРЕДЕЛЕНО, конечно, мало кто это делает, но у меня текст запроса собирает машина, и если я где-то "ушами моргнул", то получают как раз НЕОПРЕДЕЛЕНО.
156 Wobland
 
01.05.14
17:28
дык, с кривым текстом будет тупо ошибка исполнения

Результатом исполнения запроса на уничтожение временной таблицы является значение Неопределено.
157 Torquader
 
01.05.14
17:30
(156) Понял, я как-то СП не открывал.
158 Torquader
 
01.05.14
17:31
Просто, во всех типовых пишут "зпр.Выполнить().Выбрать()" и не мучаются изысканиями чего-то непонятного.
159 Torquader
 
01.05.14
17:35
А где "котёнок" ?
Убежал хвастаться, что он умеет программировать в 1С ?
160 Wobland
 
01.05.14
17:37
а всё, мы ему больше не нужны
161 Torquader
 
01.05.14
17:39
(160) А потом меня спрашивают, почему я не люблю помогать людям.
162 Jane_792
 
01.05.14
17:39
Спасибо больше, Torquader:^*
Работает как часы
163 Torquader
 
01.05.14
17:40
(162) Ладно, ладно - верю, что вы белые и пушистые, как рысята.
164 Jane_792
 
01.05.14
17:40
Я просто переносила ВАААААААШ код:)))
165 Jane_792
 
01.05.14
17:41
ага как крысята=)))
166 Jane_792
 
01.05.14
17:41
Кланяюсь в ноженьки Вам
167 Torquader
 
01.05.14
17:46
(165) Ну, крысята рождаются розовыми и лысыми - ничего в них красивого нет, пока шерстью не обрастут, а котята - рождаются уже пушистыми и красивыми.
168 Wobland
 
01.05.14
17:47
нет, я требую возможности лайкать котиков на мисте!
169 ДенисЧ
 
01.05.14
17:48
(167) Ты кого тут пушистым назвал?
http://artefakt-sphinx.ru/images/stories/public/kitten.jpg
170 Torquader
 
01.05.14
17:49
(169) Я больше камышовых люблю или рысей.
А "египетское чудо" как раз и показывает, как выглядят крысята.
171 Wobland
 
01.05.14
17:51
(169) так он там трубку курит. от этого ещё не так сморщишься
172 Jane_792
 
01.05.14
17:53
это кольцо на пальце
173 Torquader
 
01.05.14
17:54
(172) Вам виднее, вы во всё кольца видите.
174 Jane_792
 
01.05.14
17:55
да куда мне старой кольца то рассматривать=)))) поздноватенько уже будет
175 Torquader
 
01.05.14
17:56
(174) Некоторые скажут - лучше поздно, чем никогда.
176 ДенисЧ
 
01.05.14
17:56
Хм.... Чтобы женщина отказалась рассматривать украшения??????
177 Torquader
 
01.05.14
17:57
(174) А 792 - это год вашего рождения ?
178 ДенисЧ
 
01.05.14
17:58
(177) Пошляк! Кто такие вопросы задаёт???
179 Wobland
 
01.05.14
17:59
(177) в хексе - самое то
180 Torquader
 
01.05.14
17:59
(178) Ну, если это "волшебное создание" действительно того возраста, то ему можно задавать любые вопросы.
181 Torquader
 
01.05.14
18:00
(179) Ну, как бы, очень даже реальное число и на фотографию вполне похоже.
182 ДенисЧ
 
01.05.14
18:01
(180) Если это волшебное создание действительно того возраста, ты должен обращаться к ней с другим вопросом...
183 Torquader
 
01.05.14
18:02
(182) Ну да - "а не пригласить ли вас на вечернюю охоту"
184 Wobland
 
01.05.14
18:05
(183) она занята вечером, я уже проверял
185 Torquader
 
01.05.14
18:09
(184) Прям так каждый вечер и занят ?
186 Jane_792
 
02.05.14
10:33
(184) Это когда ж Вы успели проверить?
187 ДенисЧ
 
02.05.14
10:35
(186) Всё-то Вам расскажи...
Должна же быть и в мужчине какая-то загадка...
188 Jane_792
 
02.05.14
10:40
(187) А вот оно что!
189 Wobland
 
02.05.14
10:41
ага. почему у мужчины 40й счёт не закрывается, а?
190 ДенисЧ
 
02.05.14
10:43
(189) Не положено!
191 Torquader
 
02.05.14
12:41
(188) Чудо, вы задачу решили ?
192 Jane_792
 
02.05.14
17:59
(191) в процессе, я так быстро как Вы не умею
193 Wobland
 
02.05.14
18:04
(192) попробуй скопипастить код. набирать ручками не обязательно
194 Jane_792
 
02.05.14
18:05
вчерашний код??  так я вчера это сделала! задача на этом не заканчивается, это только подзадача всей задачи (193)
195 Torquader
 
02.05.14
20:55
(194) Может быть, вы тогда всю задачу расскажете, а мы за вас порадуемся.