|
Копирование данных с одной ТЗ в другую с учетом совпадающих данных |
☑ |
0
Штурман
03.03.15
✎
13:38
|
Нужно скопировать данные с одной ТЗ в другую, при условии, что данные в первой колонке равны данным второй.
Пример:
Первая ТЗ
Иванов
Петров
Сидоров
Вторая ТЗ:
Иванов А
Петров Б
Васечкин Г
Нужно в итоге в первую ТЗ скопировать вторую колонку второй ТЗ
Результат:
Иванов А
Петров Б
Сидоров
Пишу кодом так:
Для каждого н из ТЗ цикл
А = Строка(н.физлицо)
Для каждого з из ТЗ2 цикл
Б = Строка(з.наименование)
Если А=Б тогда
сообщить("совпало")
иначе
Продолжить
конецесли;
конеццикла;
конеццикла;
Так при запуске данного кода обработка ничего не сообщает. Хотя А И Б корректно переводятся в строку.
Что не так?
|
|
1
yavasya
03.03.15
✎
13:42
|
|
|
2
yavasya
03.03.15
✎
13:45
|
|
|
3
palpetrovich
03.03.15
✎
13:46
|
(1) есть подозрение, что "Иванов" != "Иванов А", так что не все так просто :)
|
|
4
Штурман
03.03.15
✎
13:47
|
(1) (2) А можно без запроса как-нить обойтись? а то надо много разныз ТЗ объединять :))
|
|
5
Штурман
03.03.15
✎
13:48
|
(3) не
Первая колонка - это "Иванов"
А вторая колонка - это "А"
|
|
6
yavasya
03.03.15
✎
13:49
|
прийдётся найти строку в цикле запускать если обходить в цикле
|
|
7
yavasya
03.03.15
✎
13:49
|
или слить всё в одну ТЗ и потом ТаблицаЗначений.Свернуть()
|
|
8
palpetrovich
03.03.15
✎
13:49
|
(5) а, понял. Тогда смотри (1)
|
|
9
palpetrovich
03.03.15
✎
13:51
|
(7) зачем? по-ходу обычное левое соединение
|
|
10
yavasya
03.03.15
✎
13:52
|
(7) в цикле тож интересно
|
|
11
1Сергей
03.03.15
✎
13:55
|
Запрософобия до добра не доведёт
|
|
12
palpetrovich
03.03.15
✎
13:55
|
не проверял, так примерно:
ВЫБРАТЬ *
ПОМЕСТИТЬ ВТ1
ИЗ &ТЗ1 КАК ТЗ1
;
ВЫБРАТЬ *
ПОМЕСТИТЬ ВТ2
ИЗ &ТЗ2 КАК ТЗ2
;
ВЫБРАТЬ
ВТ1.Фамилия
ВТ2.ЧтоТоЕще
ИЗ
ВТ1 КАК ВТ1
ЛЕВОЕ Соединение ВТ2 КАК ВТ2
ПО ВТ1.Фамилия = ВТ2.Фамилия
|
|
13
Штурман
03.03.15
✎
16:09
|
Всем спасибо, но почему-то акцент делается на перенос таблицы значений в запрос, чтобы потом выборку делать, думал просто циклом по двух ТЗ пройтись
|
|
14
barrgand
03.03.15
✎
16:13
|
(13) Зачем делать выборку? Из запроса тоже неплохие ТЗ выгружаются.
|
|
15
Штурман
03.03.15
✎
16:23
|
(14) ну эти ТЗ я как раз выгрузил из разных запросов, а потом с другой ТЗ кое-какие операции проделал, чтобы нужные данные оставить.
Все в одном запросе не делал, тк в запросах 1с есть ограничения
|
|
16
lEvGl
гуру
03.03.15
✎
17:52
|
если правильно понял, то перебор второй +
Строка = ТЗПервая.Найти(Значение, ("Колонка"))
Если Строка <> Неопределено Тогда
Строка.ВтораяКолонка = Перебор.ВтораяКолонка
|
|
17
fisher
03.03.15
✎
18:47
|
(11) Запрософилия тоже.
|
|