Как сравнить поле из ТЗ с значением поля из запроса

1. user1296699 06.04.23 13:44 Сейчас в теме
Привет. Ребят а как сравнить значение столбца из ТЗ с значением столбца из запроса ? Не ругайтесь я учусь)
надо чтобы Если СтрТаб.Пломба = ВыборкаДетальныеЗаписи.Пломба

Запрос = Новый Запрос;
	Запрос.Текст = 
	
"ВЫБРАТЬ
|	ДвижениеПломб.ВидОперации КАК ВидОперации,
|	ДвижениеПломбПломбы.Пломба КАК Пломба
|ИЗ
|	Документ.ДвижениеПломб.Пломбы КАК ДвижениеПломбПломбы
|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДвижениеПломб КАК ДвижениеПломб
|		ПО ДвижениеПломбПломбы.Ссылка = ДвижениеПломб.Ссылка
|ГДЕ
|	ДвижениеПломб.ВидОперации = &ВидОперации
|	И НЕ ДвижениеПломб.ПометкаУдаления" ;

ВидОперации = Перечисления.ВидыОперацийДвиженийПломб.Испорчена;
		
Запрос.УстановитьПараметр("ВидОперации", ВидОперации);

РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
  
  n=0;
Для каждого СтрТаб из УчётПломб Цикл
    n=n+1;
	
	Если     СтрТаб.Пломба =   	Тогда

	Сообщить(                + "уже испорчена") ;

Иначе
    ПломбыУтрата=Документы.ДвижениеПломб.СоздатьДокумент();
	ПломбыУтрата.Дата=СтрТаб.Дата;
    ПломбыУтрата.ВидОперации=Перечисления.ВидыОперацийДвиженийПломб.Испорчена;	
	ПломбыУтрата.Подразделение=ПолучитьКодУчасткаНаСервере();
	ПломбыУтрата.Отправитель=СтрТаб.Исполнитель;

	
	док=ПломбыУтрата.Пломбы.Добавить();
	док.Пломба=СтрТаб.ПломбаС;
    ПломбыУтрата.Записать(РежимЗаписиДокумента.Проведение);	

	

КонецЕсли;	
			
	КонецЦикла;

Показать
По теме из базы знаний
Найденные решения
18. user1296699 17.04.23 13:50 Сейчас в теме
Забыл ответ выбрать. Вообщем решилось все . ТЗ пришлось во временную таблицу и уже с запросами играться. Весм спасибо
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 06.04.23 14:08 Сейчас в теме
Надо приравнять к Виду операции. Кстати а что за объект УчетПломб? И выборку почему то не используешь. Плюс документ создаещь на каждую запись стртаб..... :)
3. user1296699 06.04.23 14:12 Сейчас в теме
(2)Учет это ТЗ, а документы да все разные
4. lefthander 06.04.23 14:14 Сейчас в теме
(3)В том смысле зачем Вам выборка если вы ее не используете. Что бы получить значение выборки ее надо обойти с командой Следующий() ;)
6. user1296699 06.04.23 14:16 Сейчас в теме
(4)да я понимаю...допустим я тз еще одну создам помещу туда результат, вопрос тот же как сравнить мне именно в цикле
5. user1296699 06.04.23 14:14 Сейчас в теме
(2)НЕ могу прировнять к виду операции , т.к. у самой пломбы нет такого значения, оно появляется только в документе движение пломб
7. VictorRGB2 13 06.04.23 14:16 Сейчас в теме
самое простое - цикл по выборке из запроса с поиском нужной строки из ТЗ по значению Выборка.Пломба
сложнее - результат запроса в ТЗ, ее и УчётПломб во временные таблицы в запрос и выбрать из ТЗ, что надо (или наоборот) с соединением из УчётПломб по Пломбе

готовый результат в документ

ну и по запросу, документ соединяется сам с собой, имхо, это лишнее
можно использовать конструкцию ДвижениеПломбПломбы.Ссылка.ВидОперации и соединения не потребуется
кроме этого не понятно почему в запросе "НЕ ДвижениеПломб.ПометкаУдаления" а далее документ проводится "ПломбыУтрата.Записать(РежимЗаписиДокумента.Проведение)"
логичнее было бы и в запросе использовать только проведенные документы
8. user1296699 06.04.23 14:19 Сейчас в теме
(7)с временными таблицами то нет проблем, у меня задача ....просто мне надо чтобы при нажатии второй раз на кнопку уже существующие документы не дублировались
9. user1296699 06.04.23 14:21 Сейчас в теме
(7)т.е. у меня из ТЗ создаётся документ, а мне нужно его проверить не существует ли он уже
10. VictorRGB2 13 06.04.23 14:23 Сейчас в теме
(9) документы должны обладать набором реквизитов. по которым можно однозначно сказать - это уникальный документ или дубль существующего
проверяйте документ по условиям, нашли - значит есть, пропускаем, не нашли - создаем новый
11. user1296699 06.04.23 14:27 Сейчас в теме
(10)вся его уникальность как раз в номере пломбы который есть в ТЗ и в уже созданных документах из которых я беру его запросом
12. VictorRGB2 13 06.04.23 14:31 Сейчас в теме
(11) что мешает выполнить запрос после получения ТЗ, но перед обработкой ТЗ
и вариант с временными таблицам все же выглядит более предпочтительным в таком случае
получили ТЗ, выполнили запрос, поместили во временную таблицу, закинули туда же ТЗ, выбрали методом исключения - получили результат только то, что должно было остаться для формирования документов
13. user1826630 06.04.23 14:31 Сейчас в теме
(11)
уникальность как раз в номере пломбы
Тогда зачем номер пломбы находится в табличной части документа? А не в реквизитах шапки?
14. user1296699 06.04.23 14:35 Сейчас в теме
(13)так то есть уникальный код документа но он мне ничего не дает я создаю новые по порядку, т.е. я могу создать сто разных документов по одной пломбе, а мне надо это запретить
15. VictorRGB2 13 06.04.23 14:52 Сейчас в теме
(14) перед формированием документа проверить, что есть уже с такой пломбой
самое простое

ВЫБРАТЬ
|    ДвижениеПломбПломбы.Ссылка.ВидОперации КАК ВидОперации,
|    ДвижениеПломбПломбы.Пломба КАК Пломба
|ИЗ
|    Документ.ДвижениеПломб.Пломбы КАК ДвижениеПломбПломбы
|ГДЕ
|    ДвижениеПломб.ВидОперации = &ВидОперации
|    И ДвижениеПломбПломбы.Пломба = &Пломба 
|    И НЕ ДвижениеПломб.ПометкаУдаления

где &Пломба = СтрТаб.Пломба
Показать
16. user1296699 06.04.23 14:59 Сейчас в теме
(15) ааа, типо если результат пустой тогда далее?
17. VictorRGB2 13 06.04.23 15:43 Сейчас в теме
18. user1296699 17.04.23 13:50 Сейчас в теме
Забыл ответ выбрать. Вообщем решилось все . ТЗ пришлось во временную таблицу и уже с запросами играться. Весм спасибо
Оставьте свое сообщение

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