Сравнение 2 таблиц значений? #129100


#0 by TechKom
Можно ли программно сравнить одну строку таблицы значений с другой, например есть такая строка в ТаблицеПроводки: Д50 К51 и мне нужно проверить есть ли такая же строка но в другой таблице значений КорректныеПровдоки? Как это сделать?
#1 by Stilet
Ну первое, что напрашивается использовать метод ТаблЗначений.Найти. А чем этот способ не устраивает? Идешь построчно по первой табл., ищешь строки из нее во второй.
#2 by TechKom
через метод ТаблЗначений.Найти; ?
#3 by TechKom
через метод ТаблЗначений.Найти; ?
#4 by ZolotarevAA
Можно попробовать сделать запрос к двум таблицам (я имею ввиду Движения документа и Справочник проводок). Выглядеть будет очень изящно.
#5 by TechKom
Как это мона сдеалть? Мне надо сравнить, есть ли проводки в регистре сведений или нет? Как это сделать в запросе?
#6 by TechKom
Есть строки в таблице значение Провдоки: например. И строки в таблице значений КоррекнтыеПроводки: СчетДт   СчетКр Мне надо кажудую строку из таблицы Проводки проверить есть ли она в таблице Корректные проводки, соответсвенно Д19 К60 нет, надо выдать Сообщить ("Обнаружена некорректная проводка  Д19 К60");
#7 by ZolotarevAA
А Вы, я извиняюсь, с запросами работали?
#8 by TechKom
ну да
#9 by ZolotarevAA
Ну, а в чем загвоздка? Пробуйте делать, если будет не получаться, то пишите. Или Вы не знаете с чего начать? У меня, в частности, такая задача будет реализовываться позже, поэтому я Вам только рыбу и кинул.
#10 by TechKom
В смысле в запросе делать запрос к двум регистрам и сравнивать в запросе?
#11 by ZolotarevAA
Ну да. Самому все больше и больше нравится эта идея.
#12 by ZolotarevAA
2 Не сравнивать, а склеивать таблицы. Где не склеилось - там что-то и делать.
#13 by Cerrg
два запроса и через внешнее соединение получить только сопоставимые строки....
#14 by TechKom
Честно говоря не разу не делал так, ну вот запрос: Где именно делать сравнение? Что счета Дт и Кт регистра Хозрасчетный совпадают с регистром Коррекные операции?
#15 by TechKom
Вы имеет ввиду Связать 2 таблицы: КорректныеКорреспонденцииСчетов.СчетКт Так ?
#16 by ZolotarevAA
Именно. Только я бы другую таблицу взял - обороты по счетам.
#17 by TechKom
Нет имеено эта таблица.
#18 by TechKom
Точно вот: Если он нашел данные проводки то выводит совподение, а если нет пусто, нет данных. Ну как теперь програмно узнать что данных нет?
#19 by TechKom
Что резулбтат запроса пустой?
#20 by TechKom
Точно вы правы были на счет таблицы, наоборот надо :)
#21 by ZolotarevAA
С таблицами - все просто: смотришь, какие поля предоставляет и выбираешь наименьшую среди подходящих. Я бы сделал левое соединение, а вместо КорректныеКорреспонденцииСчетов.СчетДт сделал бы флажок типа ВЫБОР КОГДА КорректныеКорреспонденцииСчетов.СчетДт ЕСТЬ NULL ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ КАК ЕстьВСпискеКорректныхПроводок
#22 by TechKom
А если воттак:        ... Так тоже мона :)
#23 by ZolotarevAA
Тока в этом случае непонятно, какие проводки и что с этим делать - то ли справочник пополнять, то ли в данных ошибка. Отгадай, кто будет искать некорректные проводки?
#24 by TechKom
Вот так:
#25 by TechKom
Да полонять справочник, это и есть задумка
#26 by ZolotarevAA
Нафига что-то проверять, если при первом же несоответствии вместо ругани проводка попадет в справочник корректных корреспонденций?
#27 by TechKom
Так хочет большой босс :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С