|
Вопрос по определению типа контрагентов (отбор) | ☑ | ||
---|---|---|---|---|
0
Sefuirosu
01.07.14
✎
14:39
|
Всем добрый день!
Подскажите, как правильно отобрать контрагентов, которые используют реализацию товаров и услуг. А именно как правильно написать такой запрос. Требуется определить из списка контрагентов "покупателей" , определить их нужно по пользованию документом "реализация товаров и услуг" (например) и другим документам. Все остальное уже сделал, но не могу понять, как правильно отобрать только нужных мне контрагентов. Куда правильно обратиться в запросе? Большое спасибо за помощь! |
|||
1
wanderer_ица
01.07.14
✎
14:41
|
Выбрать Различные Контрагент
Из Ддокумент.РеализацияТоваровУслуг... |
|||
2
Jokerman
01.07.14
✎
14:41
|
(0) Выбираешь запросом контрагентов из документа "Реализация товаров и услуг", делов то ..
|
|||
3
Fish
01.07.14
✎
14:42
|
(2) Или из регистра, по которому этот док движения делает.
|
|||
4
Sefuirosu
01.07.14
✎
14:57
|
Запрос = Новый Запрос("ВЫБРАТЬ
| РеализацияТоваровУслуг.Контрагент.Ссылка КАК Контрагент |ИЗ | Документ.РеализацияТоваровУслуг КАК Контрагенты |"); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); ДоговораСпр = Справочники.ДоговорыКонтрагентов; Пока Выборка.Следующий() Цикл Контрагент = Выборка.Контрагент.ПолучитьОбъект(); ДоговорДляПроверки = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Тестовый договор",,,Контрагент.Ссылка); Если ПустаяСтрока(ДоговорДляПроверки) Тогда ДоговорК = ДоговораСпр.СоздатьЭлемент(); ДоговорК.Организация = Справочники.Организации.НайтиПоКоду("00001"); ДоговорК.Владелец = Контрагент.Ссылка; ДоговорК.Наименование = "Тестовый договор"; ДоговорК.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем; ДоговорК.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоКоду("643"); ДоговорК.Записать(); Контрагент.ОсновнойДоговорКонтрагента = ДоговорК.Ссылка; //Контрагент = Выборка.Ссылка.ПолучитьОбъект(); ДоговорК = ДоговораСпр.СоздатьЭлемент(); ДоговорК.Организация = Справочники.Организации.НайтиПоКоду("00002"); ДоговорК.Владелец = Контрагент.Ссылка; ДоговорК.Наименование = "Тестовый договор"; ДоговорК.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем; ДоговорК.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоКоду("643"); ДоговорК.Записать(); Контрагент.Записать(); КонецЕсли; КонецЦикла; Выдает ошибку: {Форма.Форма.Форма(1497)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить(); по причине: {(2, 2)}: Поле не найдено "РеализацияТоваровУслуг.Контрагент" <<?>>РеализацияТоваровУслуг.Контрагент КАК Контрагент Ага, я так и думал, спасибо! Вот сделал такое. Выдает ошибку. Ошибка точно в запросе... Если сделать выполнение по всем контрагентам в базе, то работает все нормально. Можете посмотреть, или поправить мой запрос? Еще раз спасибо! |
|||
5
Sefuirosu
01.07.14
✎
14:58
|
Делается под БП 2.0 на 8.3
|
|||
6
Jokerman
01.07.14
✎
15:10
|
(4) а что подправить? Посмотрите как в шапке реквизит называется
|
|||
7
Jokerman
01.07.14
✎
15:11
|
КАК РеализацияТоваровУслуг замени
|
|||
8
Jokerman
01.07.14
✎
15:12
|
Что вручную запрос делаете, конструктором пользуйтесь лучше
|
|||
9
Sefuirosu
01.07.14
✎
15:20
|
Запрос = Новый Запрос("ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК Ссылка, | РеализацияТоваровУслуг.Контрагент КАК Контрагент |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата >= &ДатаНач | И РеализацияТоваровУслуг.Дата <= &ДатаКон | И РеализацияТоваровУслуг.ПометкаУдаления = ЛОЖЬ | И РеализацияТоваровУслуг.Организация = &Организация |"); Запрос.УстановитьПараметр("ДатаНач", ЭлементыФормы.ДатаНач.Значение); Запрос.УстановитьПараметр("ДатаКон", ЭлементыФормы.ДатаКон.Значение); Запрос.УстановитьПараметр("Организация", ЭлементыФормы.Организация.Значение); Результат = Запрос.Выполнить(); Сделал так... Вроде работает. Буду тестировать. Всем большое спасибо за помощь и подсказки! |
|||
10
Sefuirosu
01.07.14
✎
16:09
|
Вопрос, а чтобы добавить к отбору по РеализацииТоваровИУслуг еще и отбор по контрагентам, которые осуществляли возврат товара - надо новый запрос делать, со всеми вытекающими, или можно как-нибудь компактно сюда прикрутить остальные требуемые условия?
|
|||
11
Sefuirosu
01.07.14
✎
17:51
|
Вроде разобрался, но уперся в следующую часть задания:
Теперь надо во всех документах, где используется договор с видом "С покупателем" заменить на созданный новый договор. Куда бы это все втиснуть, и в каком виде? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |