|
1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
Flempy 27.11.20 - 07:35 | Имеется отчет в скд, где нужно выводить всех сотрудников, кроме одного. Как можно это сделать, чтобы не выбирать этого сотрудника в ручную? | ||
Арбузов 1 - 27.11.20 - 07:41 | Любого одного сотрудника? Или какого-то конкретного? | ||
Flempy 2 - 27.11.20 - 07:45 | (1) Конкретного | ||
ДенисЧ 3 - 27.11.20 - 07:49 | Укажи этого сотрудника в коде... | ||
Арбузов 4 - 27.11.20 - 07:57 | (2) Ну и укажи его в параметре запроса СКД. | ||
Flempy 5 - 27.11.20 - 08:07 | (4) как я его укажу в параметре, если там можно выбрать лишь ссылку на справочник с сотрудниками | ||
Flempy 6 - 27.11.20 - 08:11 | (3) Можно по-подробнее? | ||
Lexandr 7 - 27.11.20 - 08:11 | (5) Сделай вариант отчета без сотрудника и сделай настройки общие для всех. Выгрузи настройку отчета из клиентского режима и загрузи в режиме конфигуратора. При открытии отчета можешь программно добавлять отбор по сотруднику. Да тут гулять можно во все стороны. Гугл просто распирает от подобных решений. | ||
kobzon2 8 - 27.11.20 - 08:11 | (5) В графе выражение можно написать: Справочники.Сотрудники.НайтиПоНаименованию"Иванов Иван Иванович")
или по коду так же. | ||
Flempy 9 - 27.11.20 - 08:23 | (8) Почему-то ругается, мол синтаксическая ошибка | ||
kobzon2 10 - 27.11.20 - 08:36 | (9) Потому что я с ошибкой написал. Справочники.Сотрудники.НайтиПоНаименованию("Иванов Иван Иванович") | ||
Flempy 11 - 27.11.20 - 08:42 | (10) Ну скобку я то добавил и сам) Не из-за этого ошибка | ||
breezee 12 - 27.11.20 - 09:31 | (11) Было бы прекрасно, если бы мы могли видеть текст ошибки. Возможно, тогда мы бы и помочь смогли | ||
Flempy 13 - 27.11.20 - 09:47 | (12) ошибка возникала в консоли скд, добавил в конфигурации - запустилось, однако условие не выполнилось, этот сотрудник все равно вывелся | ||
Homer 14 - 27.11.20 - 09:55 | Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(" | ||
breezee 15 - 27.11.20 - 09:56 | (13) Херово написали | ||
Flempy 16 - 27.11.20 - 14:57 | В общем сделал программно через отбор следующим образом Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)УстановитьОтборСКД("ТС", ВидСравненияКомпоновкиДанных.НеРавно, Справочники.ТранспортныеСредства.НайтиПоНаименованию("B 096 EE 777 Mercedes-Benz GL 350 CDI 4MATIC")); КонецПроцедуры Процедура УстановитьОтборСКД(ИмяПоля, ВидОтбора, Значение) ПолеОтбора = Новый ПолеКомпоновкиДанных(ИмяПоля); ОтборыКомпановщика = КомпоновщикНастроек.Настройки.Отбор.Элементы; Для Каждого Стр Из ОтборыКомпановщика Цикл Если Стр.ЛевоеЗначение = ПолеОтбора Тогда Отбор = Стр; КонецЕсли; КонецЦикла; Если Отбор = Неопределено Тогда Отбор = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Отбор.ЛевоеЗначение = ПолеОтбора; КонецЕсли; Если Значение <> Неопределено Тогда Отбор.ВидСравнения = ВидОтбора; Отбор.Использование = Истина; Отбор.ПравоеЗначение = Значение; Иначе Отбор.Использование = Ложь; КонецЕсли; КонецПроцедуры | ||
Flempy 17 - 27.11.20 - 14:58 | Однако когда я собираюсь расшифровать отчет по сотруднику, вышеуказанная процедура затирает расшифровку. Как можно избежать этого? | ||
Flempy 18 - 27.11.20 - 14:59 | И да, я сделал в итоге отбор по ТС, а не по сотруднику | ||
Flempy 19 - 27.11.20 - 15:00 | Надо сделать чтобы процедура работала только при нажатии на кнопку Сформировать | ||
Chameleon1980 20 - 27.11.20 - 15:07 | сделай в запросе | ||
Flempy 21 - 27.11.20 - 15:11 | (20) это как, если не секрет | ||
Chameleon1980 22 - 27.11.20 - 19:28 | самой первой сделай временную таблицу с твоей ссылкой хоть по коду хоть по наименованию
далее в твоём запросе используй эту вт как ыильтр | ||
Flempy 23 - 30.11.20 - 07:48 | А ведь все было так просто. Нужно было лишь добавить в самом запросе условие
ГДЕ СправочникТранспортныеСредства.Наименование <> "НаименованиеМашины" | ||
ДенисЧ 24 - 30.11.20 - 07:51 |
|
Список тем форума |