|
|
|
v7: условие в запросе. | ☑ | ||
|---|---|---|---|---|
|
0
zladenuw
17.10.12
✎
18:22
|
если в списке пару групп.
такое условие правильное ? |ТекущийЭлемент = Справочник.СтруктураКомпании.ТекущийЭлемент; |Условие(ТекущийЭлемент в лСпЗнГруппы); |
|||
|
1
zladenuw
17.10.12
✎
18:25
|
или только так ?
Условие((ТекущийЭлемент.ПринадлежитГруппе(Группа1) = 1) |
|||
|
2
Wobland
17.10.12
✎
18:29
|
это ты правильно решил здесь спросить. для того, чтобы взять проверить надо кучу дополнительных библиотек подключать
|
|||
|
3
zladenuw
17.10.12
✎
18:33
|
поехали дальше.
почему вот есть функция. Функция ЕстьСвязь(Параметр) мСпрСвязи.ИспользоватьВладельца(Параметр); мСпрСвязи.ВыбратьЭлементы(); Если мСпрСвязи.ПолучитьЭлемент() = 0 Тогда Возврат 0; Иначе Возврат 1; КонецЕсли; КонецФункции |Условие(ЕстьСвязь(ТекущийЭлемент)=1); а при обходе запроса все равно есть элементы которые попадают в условие лСпрСвязи = СоздатьОбъект("Справочник.Связи"); Если (Запрос.Выполнить(ТекстЗапроса) = 1) и (флКлиентПродаж=0) Тогда Сообщить("Выгрузка по запросу"); Пока Запрос.Группировка() = 1 Цикл Если Запрос.ТекущийЭлемент.Выбран() = 0 Тогда Продолжить; КонецЕсли; лЭлемент = Запрос.ТекущийЭлемент.ТекущийЭлемент(); лКПКАгент = лЭлемент.КПКАгентАвтор.ТекущийЭлемент(); лСпрСвязи.ИспользоватьВладельца(лЭлемент); лСпрСвязи.ВыбратьЭлементы(); Если лСпрСвязи.ПолучитьЭлемент() = 0 Тогда Сообщить("не убирать"); Продолжить; КонецЕсли; |
|||
|
4
zladenuw
17.10.12
✎
18:35
|
где туплю.
|
|||
|
5
Wobland
17.10.12
✎
18:36
|
>Запрос.ТекущийЭлемент.ТекущийЭлемент()
чувствую необратимые изменения в психике. сдаюсь |
|||
|
6
zladenuw
17.10.12
✎
18:37
|
то есть так ?
Запрос.ТекущийЭлемент и я точно получу объект, а не ссылку на него ? да походу надо отдохнуть пару часиков. |
|||
|
7
zladenuw
17.10.12
✎
18:38
|
(5) по психе потом. почему условие в запросе не работает ?
|
|||
|
8
GreyK
17.10.12
✎
18:49
|
8тморозки вон из старой доброй 77. Читать СП вам никто не будет! :)
|
|||
|
9
Wobland
17.10.12
✎
18:52
|
(7) нене, мой нежный разум этого не осиливает. извини, конечно, но мне здесь нужен инструмент кроме мозга
|
|||
|
10
zladenuw
17.10.12
✎
18:56
|
(9) да надо было в группировку добавить |Группировка ТекущийЭлемент без групп;
и все |
|||
|
11
Wobland
17.10.12
✎
18:59
|
(10) то есть текст запроса был важен..
|
|||
|
12
zladenuw
17.10.12
✎
19:01
|
да
надо вот так ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |ТекущийЭлемент = Справочник.СтруктураКомпании.ТекущийЭлемент; |Родитель = Справочник.СтруктураКомпании.Родитель; |Тип = Справочник.СтруктураКомпании.Тип; |лАгент = Справочник.СтруктураКомпании.КПКАгентАвтор; |Группировка ТекущийЭлемент без групп; |Условие(Тип = мТипПокупатель); |Условие(ТекущийЭлемент в лСпЗнПокупатели); |Условие(ЕстьСвязь(ТекущийЭлемент)=1); |
|||
|
13
zladenuw
17.10.12
✎
19:01
|
(12) а роль играет какое условие перед чем ?
|
|||
|
14
Sh1ko
17.10.12
✎
19:03
|
(13) Да, играет. Красиво смотрится или нет.
|
|||
|
15
Wobland
17.10.12
✎
19:03
|
(13) я до сих пор не могу в себя внедрить понимание фразы "однопроходный запрос" (или что-то в этом духе), но имхо поровну
|
|||
|
16
zladenuw
17.10.12
✎
19:13
|
Тут его нету. если еще раз обращаюсь к списку лСпЗнВыгруженных для выгрузку в другие теги. он есть. что может быть не так ?
Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |ТекущийЭлемент = Справочник.СтруктураКомпании.ТекущийЭлемент; |Родитель = Справочник.СтруктураКомпании.Родитель; |Тип = Справочник.СтруктураКомпании.Тип; |лАгент = Справочник.СтруктураКомпании.КПКАгентАвтор; |Группировка ТекущийЭлемент без групп; |Условие(Тип = мТипПокупатель); |Условие(ТекущийЭлемент в лСпЗнПокупатели); |Условие(ЕстьСвязь(ТекущийЭлемент)=1); |";//}}ЗАПРОС; Если (Запрос.Выполнить(ТекстЗапроса) = 1) и (флКлиентПродаж=0) Тогда Сообщить("Выгрузка по запросу"+ ТекущаяДата()); Пока Запрос.Группировка() = 1 Цикл Если Запрос.ТекущийЭлемент.Выбран() = 0 Тогда Продолжить; КонецЕсли; лЭлемент = Запрос.ТекущийЭлемент; лКПКАгент = лЭлемент.КПКАгентАвтор.ТекущийЭлемент(); лЮрЛицо = лСпрСвязи.ВнешнееНаименование; Если лСпр.ЭтоГруппа() = 1 Тогда Сообщить("не убирать"); Продолжить; КонецЕсли; Если лСпр.ПометкаУдаления() = 1 Тогда Сообщить("не убирать"); Продолжить; КонецЕсли; Если мнфПодходитПоУсловию("Сотрудники", лКПКАгент, ОбъектыЕФ.Сотрудники) = 0 Тогда buyer = ДобавитьОбъект(ДокXML, Строка(лСпр), "buyer"); ДобавитьПотомка(buyer, "code" , ЗначениеВСтрокуВнутр(лЭлемент)); ДобавитьПотомка(buyer, "producercode" , лЭлемент.Код); ДобавитьПотомка(buyer, "name" , СокрЛП(лЭлемент.Наименование)+" (Не чибо)"); ДобавитьПотомка(buyer, "deleted" , 1); ВыгрузитьПодчСпрКонтрагенты(buyer, лЭлемент); ///////////////////////////////////////////// //выгрузка подчиненных справочников (начало) ///////////////////////////////////////////// лСпЗнВыгруженныхНечибо.ДобавитьЗначение(лЭлемент); ДобавитьНоду(buyers, buyer); Продолжить; КонецЕсли; Если лСпЗнВыгруженных.Принадлежит(лЭлемент) = 1 Тогда Продолжить; КонецЕсли; лСпЗнВыгруженных.ДобавитьЗначение(лЭлемент); buyer = ДобавитьОбъект(ДокXML, Строка(лЭлемент), "buyer"); |
|||
|
17
zladenuw
17.10.12
✎
19:19
|
ай пойду отдохну
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |