Сравнение двух Таблиц значений во внешней обработке

1. user1C99 21.11.22 15:53 Сейчас в теме
Здравствуйте!
Конфигурация ERP 2.5
Есть внешняя обработка с двумя таблицами значений и одной табличной частью условно назовем их ТЗ_1, ТЗ_2 и ТЧ Во всех таблицах одинаковый набор реквизитов, а именно всего один "Сотрудник"
В ТЗ_1 подгружается список из внешнего источника, во второй ТЗ_2 этот список заполняется из текущих работников организации.
Смысл сравнения такой, необходимо проверить сотрудников в Т3_2 есть ли они в Т3_1 и если его нет, то добавить строчку в ТЧ.
Подскажите, пожалуйста, как это сделать?
По теме из базы знаний
Найденные решения
21. user1826630 21.11.22 16:51 Сейчас в теме
Ну вот после коньяка я вижу так:
Прикрепленные файлы:
AndrewUs; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. acces969 356 21.11.22 16:00 Сейчас в теме
выбрать а,б,с поместить тч1 из &ТЧ1 как ТЧ1;
выбрать а,б,с поместить тч2 из &ТЧ2 как ТЧ2;
выбрать 
естьnull(тч1.а, тч2.а) как а,
естьnull(тч1.б, тч2.б) как б,
естьnull(тч1.с, тч2.с) как с
полное соединение тч2 как тч2 по тч1.а = тч2.а и тч1.б = тч2.б и тч1.с = тч2.с
где 
 тч1.а <> тч2.а или тч1.б <> тч2.б или тч1.с <> тч2.с
Показать
AndrewUs; +1 Ответить
3. user1826630 21.11.22 16:02 Сейчас в теме
(2) Реально думаешь, что операции в оперативной памяти должен исполнять сервер БД?
4. user1826630 21.11.22 16:05 Сейчас в теме
7. acces969 356 21.11.22 16:07 Сейчас в теме
9. user1826630 21.11.22 16:09 Сейчас в теме
10. user1826630 21.11.22 16:11 Сейчас в теме
(4) Ой, опять полегчало за минус?
5. user1C99 21.11.22 16:06 Сейчас в теме
(2)а, б, с - это колонки таблицы значений?
6. user1826630 21.11.22 16:06 Сейчас в теме
(2) Полегчало тебе после того, как поставил минус?
acces969; +1 Ответить
15. Kilka_v_Kepke 21.11.22 16:20 Сейчас в теме
(6)Уволь его, полегчает и тебе
17. user1826630 21.11.22 16:24 Сейчас в теме
(15) Да мне и так легко... Мне просто интересно, как люди тут изобретают новые методы сравнения таблиц...
8. beldieff 21.11.22 16:08 Сейчас в теме
	
ТЗ_3 = ТЗ_1.СкопироватьКолонки();
ТЗ_3.Колонки.Добавить("Итог");

Для каждого Стр1 Из ТЗ_1 Цикл 

	нСтрока = ТЗ_3.Добавить();
	ЗаполнитьЗначенияСвойств(нСтрока, Стр1);
	нСтрока.Итог = 1;
	
КонецЦикла;

Для каждого Стр2 Из ТЗ_2 Цикл 
	
	нСтрока = ТЗ_3.Добавить();
	ЗаполнитьЗначенияСвойств(нСтрока, Стр2);
	нСтрока.Итог = -1;
	
КонецЦикла;

ТЗ_3.Свернуть("Колока", "Итог");
Показать

те строки где итог <> 0 различны.
AndrewUs; acces969; +2 Ответить
11. acces969 356 21.11.22 16:11 Сейчас в теме
(8)

Для каждого Стр2 Из ТЗ_2 Цикл

нСтрока = ТЗ_3.Добавить();
ЗаполнитьЗначенияСвойств(нСтрока, Стр2);
нСтрока.Итог = -1;

КонецЦикла;

ТЗ_3.Свернуть("Колока", "Итог");


Хитро, тоже возьму на вооружение, спасибо.
12. user1C99 21.11.22 16:15 Сейчас в теме
(8)
ТЗ_3 = ТЗ_1.СкопироватьКолонки();

Возможно я не туда пытаюсь вставить данную конструкцию, но у меня нет метода СкопироватьКолонки(), даже похожего нет
18. user1826630 21.11.22 16:26 Сейчас в теме
(8) Теоретически - работает. Но зачем делать ТЗ_3 методом скопировать колонки, если можно просто Скопировать()?
22. user1C99 22.11.22 08:59 Сейчас в теме
(8) Возможно где-то не так сделал, не то условие указал, но в ТЧ попадали либо все, либо никто
13. beldieff 21.11.22 16:17 Сейчас в теме
(12) Это метод таблицы значений, а ты, наверняка, пытаешься его прикрутить к элементу формы.
14. user1C99 21.11.22 16:19 Сейчас в теме
(13)Ну да, у меня данная таблица значений как реквизит формы
16. user1C99 21.11.22 16:21 Сейчас в теме
(13)Получается, мне нужно сначала мою таблицу значений выгрузить в некую другую таблицу значений, а только потом копировать?
19. beldieff 21.11.22 16:28 Сейчас в теме
(16) Да, это сравнение таблиц значений, а не таблиц формы. как сравнивать их я еще не придумал :(.
ТЗ_1 = Объект.ТЗ_1.Выгрузить()
20. beldieff 21.11.22 16:30 Сейчас в теме
(18) Можно и так. А еще можно просто создать колонки без копирования. Результат-то один.
21. user1826630 21.11.22 16:51 Сейчас в теме
Ну вот после коньяка я вижу так:
Прикрепленные файлы:
AndrewUs; +1 Ответить
23. user1C99 22.11.22 09:01 Сейчас в теме
(21) Ваш вариант дал нужный результат, единственное, убрал действие после "иначе", чтобы заполнялось людьми только из одной таблицы.
Спасибо
24. user1C99 22.11.22 09:02 Сейчас в теме
Всем огромное СПАСИБО за подсказки и помощь.
26. askn 22.11.22 12:42 Сейчас в теме
Передать данные из таблиц значений во временные таблицы запроса.
В самом запросе сделать левое соединение второй временной таблицы к первой по сотруднику и отфильтровать по значению NULL.
Результат выполнения запроса выгрузить в табличную часть
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот