|
можно ли в 1с 83 сравнить без цикла 2 ТЗ | ☑ | ||
---|---|---|---|---|
0
33554432
17.06.16
✎
07:28
|
можно ли в 1с 83 сравнить без цикла 2 ТЗ по 2 полям. Результат - есть совпадение по 2 полям или нет. Если да, то как?
|
|||
1
Beretta
17.06.16
✎
07:31
|
Что такое "совпадение по двум полям"?
|
|||
2
DDwe
17.06.16
✎
07:32
|
ОбщийМодульРаботаСТЗСравнитьТЗПоПолям(поле1,поле2, тз1,тз2);
|
|||
3
worker-good
17.06.16
✎
07:35
|
(2) шутник:-)
|
|||
4
worker-good
17.06.16
✎
07:37
|
(0) если надо чтобы быстро работало то делаешь два отдельных цикла, а не цикл в цикле
|
|||
5
DrLekter
17.06.16
✎
07:38
|
Запросом?
|
|||
6
Bigbro
17.06.16
✎
07:48
|
в массив одну колонку, вторую. и сравнить значения?
|
|||
7
Bigbro
17.06.16
✎
07:51
|
СравнениеЗначений (CompareValues)
Сравнить (Compare) Синтаксис: Сравнить(<Значение1>, <Значение2>) Параметры: <Значение1> (обязательный) Тип: Произвольный. Первое значение сравнения. <Значение2> (обязательный) Тип: Произвольный. Второе значение сравнения. Возвращаемое значение: Тип: Число. Результат < 0 - первое значение меньше второго. Результат > 0 - первое значение больше второго. Результат = 0 - первое значение равно второму. Описание: Сравнивает два значения. Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
8
MrStomak
17.06.16
✎
07:53
|
Без цикла это даже sql не сравнивает.
|
|||
9
Beretta
17.06.16
✎
07:56
|
А напомните, кстати, построитель отчета в текстовый макет умеет выводить?
|
|||
10
Провинциальный 1сник
17.06.16
✎
08:03
|
Выгрузить эти два поля в другие ТЗ, сериализовать, сравнить как строки)
|
|||
11
Beretta
17.06.16
✎
08:05
|
(10) Через xml неспортивно. Надо многоступечато и сложно )
|
|||
12
33554432
17.06.16
✎
08:32
|
Я вот такой алгоритм написал. Работает. Не особо тормозит, но можно ли ускорить?
//------------- забраковка запросЗабр=новый запрос; запросЗабр.Текст="ВЫБРАТЬ | ФАРМ_ЗаблокированныеТовары.Номенклатура, | ФАРМ_ЗаблокированныеТовары.СерияНомер, | ФАРМ_ЗаблокированныеТовары.Регистратор |ИЗ | РегистрСведений.ФАРМ_ЗаблокированныеТовары КАК ФАРМ_ЗаблокированныеТовары"; ЗабракованныеТовары=запросЗабр.Выполнить().Выгрузить(); ЗабракованныеТовары.Колонки.Добавить("поиск"); для каждого стр из ЗабракованныеТовары цикл стр.поиск=строка(стр.номенклатура)+строка(стр.серияномер); конеццикла; для каждого строкаОТБ из объект.ВыбранныйПТУ.товары.выгрузить() цикл новыйпоиск=ЗабракованныеТовары.Найти(строка(строкаОТБ.номенклатура)+строка(строкаОТБ.серия.номер)) ; если новыйпоиск=неопределено тогда иначе сообщить("забраковано: "+строка(строкаОТБ.номенклатура)+" серия: "+строка(строкаОТБ.серия.номер)) ; конецесли; конеццикла; //--------------------- забраковка |
|||
13
MSOliver
17.06.16
✎
08:34
|
таблица значений сериализуетя, и сравнить две строки
|
|||
14
FIXXXL
17.06.16
✎
08:35
|
(12) а что помешало таблицу связать самое на себя в запросе и сравнить?
|
|||
15
FIXXXL
17.06.16
✎
08:36
|
(14) сорри, не саму на себя, а на ТЧ
|
|||
16
MrStomak
17.06.16
✎
08:37
|
1. Убрать нафиг преобразование ы строки.
2. ТЗ.Индексы.Добавить("поле1,поле2") 3. Искать через НайтиСтроки по двум полям |
|||
17
Serg_1960
17.06.16
✎
09:30
|
(12) таблицу объекта в запрос и там соединяй.
|
|||
18
Провинциальный 1сник
17.06.16
✎
09:37
|
(11) Зачем xml, ЗначениеВСтрокуВнутр наше всё
|
|||
19
H A D G E H O G s
17.06.16
✎
09:45
|
(12) Можно, но не так, как ты думаешь
|
|||
20
samozvanec
17.06.16
✎
09:53
|
(0) Если НЕ ТЗ1[0].Поле1 = ТЗ1[0].Поле1 Тогда
Возврат Ложь; ИначеЕсли НЕ ТЗ1[1].Поле1 = ТЗ1[1].Поле1 Тогда Возврат Ложь; ну и т.д.) |
|||
21
ovrfox
17.06.16
✎
10:02
|
Подобный запрос
ВЫБРАТЬ | Товары.Номенклатура, | Товары.Серия.Номер КАК СерияНомер |ИЗ | &Товары КАК Товары |ГДЕ | (Товары.Номенклатура, Товары.Серия.Номер) В | (ВЫБРАТЬ | ФАРМ_ЗаблокированныеТовары.Номенклатура, | ФАРМ_ЗаблокированныеТовары.СерияНомер | ИЗ | РегистрСведений.АРМ_ЗаблокированныеТовары КАК ФАРМ_ЗаблокированныеТовары) Тебя спасет и сразу выдаст только нужные строки. Главное не забудь передать таблицу для поиска внутрь запроса. Еще лучше, если ты сможешь ее получить прямо на сервере и регистр будет иметь индекс по номенклатуре. |
|||
22
Ildarovich
17.06.16
✎
11:12
|
Много различных способов решения этой задачи приведено в статье "Лучшие методы сравнения таблиц значений" http://catalog.mista.ru/public/326983/ .
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |