|
Проверка соответствия строк 2х ТЧ |
☑ |
0
YurAnt
01.07.13
✎
11:54
|
Доброго времени суток всем. Сравниваю Табл2 таблицу с Табл1, если отсутствует строка в Табл2 - создаю, забиваю значением из Табл1
Следующий код не отрабатывает по вполне понятной причине (при ЗначениеЗаполнено(ЭтотОбъект.Табл2[НомерСтроки]) происходит обращение к несуществующему элементу массива "выход за границы")
Процедура ПроверкаСоответствияСтрокТаблиц() Экспорт
Для НомерСтроки = 0 По (ЭтотОбъект.Табл1.Количество()-1) Цикл
Если НЕ ЗначениеЗаполнено(ЭтотОбъект.Табл2[НомерСтроки]) тогда
НоваяСтрока = ЭтотОбъект.Табл2.Добавить();
НоваяСтрока.Управление = "" + ЭтотОбъект.Табл1[НомерСтроки].Управление;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Как Вариант можно полагаю брать .Количество() сравнивать с количеством элементов Табл1 и добавлять кол-во элементов равное разности кол-ва строк (Табл1 - Табл2), но опять же придется высчитывать номер строки, дабы занести послде добавления еще и значение в него.
Нет ли варианта проще ? Без таких плясок с бубном ?
|
|
1
Maxus43
01.07.13
✎
11:58
|
ЕСли ЭтотОбъект.Табл2.Количество()<(НомерСтроки+1) Тогда
|
|
2
Maxus43
01.07.13
✎
12:00
|
Если НЕ конечно
|
|
3
Плот
01.07.13
✎
12:02
|
(0) Не совсем понял, что с чем сравниваешь?
|
|
4
YurAnt
01.07.13
✎
12:03
|
Maxus43, действительно))
Спасибо, вам =)
Тема закрыта)
|
|
5
SanGvin
01.07.13
✎
12:04
|
в итоге - что должно получиться? слияние уникальных записей 2х таблиц?
|
|
6
Плот
01.07.13
✎
12:05
|
(+5) Вот это вот сильно не понятно
ЗначениеЗаполнено(ЭтотОбъект.Табл2[НомерСтроки])
|
|
7
YurAnt
01.07.13
✎
12:07
|
Плот, тема закрыта, но тем не менее:
Таблица1 - в ней скажем 3 строки.
Таблица2 - в ней строк нет (либо меньше)
При условии, что во второй таблице строк меньше - мы берем добавляем необходимое кол-во строк, и забиваем значениями из 1й Таблицы.
В общем всё.
Решение нашлось благодаря, Maxus43.
Мб кому-нибудь еще пригодится.
|
|
8
Плот
01.07.13
✎
12:11
|
(7) Ну тогда бы я советовал тебе изменить диапазон индекса
НомерСтроки = 0 и сделать его зависимым от Таб2, что бы впустую не бегать, если конечно я правильно понял тебя.
ПЫСЫ ну закрыта так закрыта, я так к словую.
|
|
9
YurAnt
01.07.13
✎
12:16
|
Ну да... как-то так оно и есть. Просто у меня 2 таблицы с взаимосвязанным кол-вом элементов (т.е. создали в 1й таблице - строка добавилась и во 2й и наоборот)
Поправка лишь на то, что таблицы разные. Соответствующие значения хранятся в 2-3х колонках.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший