|
Подсчет количества документов определенного типа | ☑ | ||
---|---|---|---|---|
0
bloodnik
26.08.13
✎
13:55
|
Необходимо получить кол-во документов выбранного типа за период. Как реализовать выбор типа на форме и выбор документов этого типа из базы?
|
|||
1
Чайник Рассела
26.08.13
✎
13:57
|
программным кодом можно
|
|||
2
Wobland
26.08.13
✎
13:58
|
можно сделать список из строк, дать его выбрать, сделать запрос, показать результат
|
|||
3
Starhan
26.08.13
✎
14:01
|
Обойти метаданные документы. составить список документов
имя, синоним вывести пользователю как надо (выбоором из списка или выпадающего списк) Получить имя документа и подстваить в запрос. |
|||
4
ОбычныйЧеловек
26.08.13
✎
14:02
|
||||
5
bloodnik
26.08.13
✎
14:06
|
(2)выводить как без разницы, главное чтобы все возможные варианты типов документов подгружались автоматически(на случай когда новый док может добавиться)
Текст = "... ВЫБРАТЬ ... ИЗ Документ." + ИмяДокумента? |
|||
6
bloodnik
26.08.13
✎
14:09
|
(4)нельзя ли кусочек кода или описание принципа получить, у меня пока нет sm )
|
|||
7
Wobland
26.08.13
✎
14:10
|
(5) направление мысли верное
|
|||
8
ОбычныйЧеловек
26.08.13
✎
14:53
|
(6) давай я тебе cm перекину - а ты уж скачивай сам, что считаешь нужным.
|
|||
9
bloodnik
26.08.13
✎
15:46
|
(8) Спасибо, я уже сам сделал )
Процедура КнопкаВыполнитьНажатие(Кнопка) Если Не ЗначениеЗаполнено(НачПер) Или Не ЗначениеЗаполнено(КонПер) Или НачПер > КонПер Тогда Предупреждение("Некорректно заполнен период!"); Возврат; КонецЕсли; //Если Не ЗначениеЗаполнено(Организация) Тогда // Предупреждение("Не заполнена организация!"); // Возврат; //КонецЕсли; Если Не ЗначениеЗаполнено(ЭлементыФормы.ТипДокумента.Значение) Тогда Предупреждение("Не выбран тип документа!"); Возврат; КонецЕсли; //| Документ." + ЭлементыФормы.ТипДокумента.Значение + " КАК Документ Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Документ.Ссылка |ИЗ | Документ." + ЭлементыФормы.ТипДокумента.Значение + " КАК Документ |ГДЕ | Документ.ПометкаУдаления = ЛОЖЬ | И Документ.Дата > &НачПер | И Документ.Дата <= &КонПер | И ВЫБОР | КОГДА Документ.Фирма ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ Документ.Фирма В(&СпсФирм) | КОНЕЦ"; Запрос.УстановитьПараметр("НачПер", НачалоДня(НачПер)); Запрос.УстановитьПараметр("КонПер", КонецДня(КонПер)); Запрос.УстановитьПараметр("Фирма", Организация); Если Не ЗначениеЗаполнено(Организация) Тогда Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВЫБОР | КОГДА Документ.Фирма ЕСТЬ NULL | ТОГДА ИСТИНА | ИНАЧЕ Документ.Фирма В(&СпсФирм) | КОНЕЦ", "1=1"); Иначе Запрос.УстановитьПараметр("СпсФирм", Организация); КонецЕсли; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда КоличествоДокументов = Выборка.Количество(); Иначе КоличествоДокументов = 0; КонецЕсли; КонецПроцедуры ПередОткрытием(Отказ, СтандартнаяОбработка) ааа = Метаданные.Документы; СЗ = Новый СписокЗначений; Для Каждого Стр Из ааа Цикл НовЗапись = СЗ.Добавить(); НовЗапись.Значение = Стр.Имя; НовЗапись.Представление = Стр.Синоним; КонецЦикла; ЭлементыФормы.ТипДокумента.СписокВыбора = СЗ; КонецПроцедуры |
|||
10
Wobland
26.08.13
✎
15:55
|
(9) скажешь, КОГДА Документ.Фирма будет являться NULLом?
|
|||
11
bloodnik
26.08.13
✎
16:12
|
(10) Когда у документа не будет реквизита Фирма )
|
|||
12
Wobland
26.08.13
✎
16:57
|
ну как вы любите делать то, что нормальному человеку в голову не придёт.. сходил и проверил:
ВЫБРАТЬ выбор когда ПриходнаяНакладная.Ссылка20 есть null тогда истина конец ИЗ Документ.ПриходнаяНакладная КАК ПриходнаяНакладная {Обработка.КонсольЗапросов_82.МодульОбъекта(49)}: Ошибка при вызове метода контекста (ВыполнитьПакет): {(2, 33)}: Поле не найдено "ПриходнаяНакладная.Ссылка20" выбор когда ПриходнаяНакладная.<<?>>Ссылка20 есть null тогда истина |
|||
13
bloodnik
26.08.13
✎
17:14
|
(12) блин не фурынькает (((, как тогда проверить наличие реквизита?
P.S.Я еще не волшебник, я только учусь ))) |
|||
14
Wobland
26.08.13
✎
17:20
|
(13) смотреть в метаданные. зачем это всё?
|
|||
15
bloodnik
26.08.13
✎
17:24
|
(14) Обработка выводит количество документов выбранного типа и с фильтром по организации и периоду, если в список выбора типа документа попадет документ без реквизита фирма, вывалится с ошибкой (
может попытку воткнуть и сообщение выводить? |
|||
16
Aleksey
26.08.13
✎
17:26
|
(15) только попытку до запроса
|
|||
17
m-serg74
26.08.13
✎
17:28
|
(15) тип документа есть отчего не проверить есть ли в метаданных свойство/реквизит фирма?
|
|||
18
Wobland
26.08.13
✎
17:28
|
(15) не позволяй юзеры выбирать вид документа без фирмы. или в запросе смотри, можно ли делать фильтр по фирме
|
|||
19
bloodnik
26.08.13
✎
17:32
|
(18) Мне тоже эта идея пришла про список документов с реквизитом фирма, завтра попробую реализовать
|
|||
20
m-serg74
26.08.13
✎
17:43
|
(19) а чем (17) плохо?
|
|||
21
bloodnik
27.08.13
✎
08:43
|
Переделал
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) МассивДокументов = Метаданные.Документы; СЗ = Новый СписокЗначений; Для Каждого Стр Из МассивДокументов Цикл Если Стр.Реквизиты.Найти("Фирма") <> Неопределено Тогда НовЗапись = СЗ.Добавить(); НовЗапись.Значение = Стр.Имя; НовЗапись.Представление = Стр.Синоним; КонецЕсли; КонецЦикла; ЭлементыФормы.ТипДокумента.СписокВыбора = СЗ; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |