![]() |
|
Помогите с запросом, пожалуйста | ☑ | ||
---|---|---|---|---|
0
ded20ded
27.04.13
✎
10:40
|
Очень редко пишу на 1С, но хотелось бы все таки научится
Есть регистр Закупки у него есть Измерения = ДокументЗакупки из документа хотелось бы вытащить все серии номенклатуры Конфа Больничная аптека // Функция формирует отчет по мониторингу цен ЖНВЛС // Функция СформироватьОтчет(ДатаНачала, ДатаОкончания, Организация) ТабДокумент = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Закупки.Организация КАК Организация, | Закупки.Номенклатура КАК Номенклатура, | Закупки.Контрагент КАК Контрагент, | Закупки.Контрагент.Представление КАК Поставщик, | Закупки.Номенклатура.ЭлементКАТ.ФирмаПроизводитель КАК Производитель, | Закупки.Номенклатура.ЭлементКАТ.ДействующееВещество КАК ДействующиеВеществаМНН, | Закупки.Номенклатура.ЭлементКАТ.НаименованиеПолное КАК ТорговоеНаименование, | Закупки.ЦенаПроизводителя КАК ЦенаПроизводителя, //изм__________ //| Закупки.ДокументЗакупки КАК ДокументЗакупки, //изм__________ | ВЫБОР | КОГДА Закупки.Номенклатура.Упаковка = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмеренияНоменклатуры.ПустаяСсылка) | ТОГДА Закупки.КоличествоОборот | ИНАЧЕ Закупки.КоличествоОборот * ВЫБОР | КОГДА Закупки.Номенклатура.Упаковка.ТипБазовойЕдиницыУпаковки = Закупки.Номенклатура.БазоваяЕдиницаИзмерения.ТипЕдиницы | ТОГДА Закупки.Номенклатура.БазоваяЕдиницаИзмерения.Коэффициент | КОГДА Закупки.Номенклатура.Плотность = 0 | ТОГДА 0 | КОГДА Закупки.Номенклатура.БазоваяЕдиницаИзмерения.ТипЕдиницы = | ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмеренияНоменклатуры.Весовая) | ТОГДА Закупки.Номенклатура.БазоваяЕдиницаИзмерения.Коэффициент / Закупки.Номенклатура.Плотность | КОГДА Закупки.Номенклатура.БазоваяЕдиницаИзмерения.ТипЕдиницы = | ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмеренияНоменклатуры.ЕдиницаОбъема) | ТОГДА Закупки.Номенклатура.БазоваяЕдиницаИзмерения.Коэффициент * Закупки.Номенклатура.Плотность | ИНАЧЕ 0 // ошибка!!! | КОНЕЦ / Закупки.Номенклатура.Упаковка.Коэффициент | КОНЕЦ КАК Количество, | Закупки.СтоимостьОборот КАК Стоимость, | Закупки.НДСОборот КАК НДС |ИЗ | РегистрНакопления.Закупки.Обороты( | &ДатаНачала, | &ДатаОкончания, | , | Организация = &Организация | И (НЕ ЦенаПроизводителя = 0) | //%УСЛОВИЯ% | ) КАК Закупки |ГДЕ | Закупки.Номенклатура.ЭтоЛекарственноеСредство"; Если ЗначениеЗаполнено(ПодразделениеОрганизации) Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//%УСЛОВИЯ%", "И ПодразделениеОрганизации = &ПодразделениеОрганизации |//%УСЛОВИЯ%"); КонецЕсли; Если ЗначениеЗаполнено(Контрагент) Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//%УСЛОВИЯ%", "И Контрагент = &Контрагент |//%УСЛОВИЯ%"); КонецЕсли; Если ЗначениеЗаполнено(ИсточникФинансирования) Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//%УСЛОВИЯ%", "И ИсточникФинансирования = &ИсточникФинансирования |//%УСЛОВИЯ%"); КонецЕсли; Запрос.Текст = ТекстЗапроса; Запрос.УстановитьПараметр("ДатаНачала" , ?(ДатаНачала = Дата('00010101000000'), ДатаНачала, Новый Граница(НачалоДня(ДатаНачала), ВидГраницы.Включая))); Запрос.УстановитьПараметр("ДатаОкончания" , ?(ДатаОкончания = Дата('00010101000000'), ДатаОкончания, Новый Граница(КонецДня(ДатаОкончания), ВидГраницы.Включая))); Запрос.УстановитьПараметр("Организация" , Организация); Запрос.УстановитьПараметр("Контрагент" , Контрагент); Запрос.УстановитьПараметр("ПодразделениеОрганизации", ПодразделениеОрганизации); Запрос.УстановитьПараметр("ИсточникФинансирования" , ИсточникФинансирования); РезультатЗапроса = Запрос.Выполнить(); ОбластьЗаголовка = Макет.ПолучитьОбласть("Заголовок"); // Выведем заголовок. СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(Организация, ДатаОкончания); ОбластьЗаголовка.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе); ОбластьЗаголовка.Параметры.Организация = Организация; ОбластьЗаголовка.Параметры.Период = ПредставлениеПериода(ДатаНачала, ?(ДатаОкончания = Дата('00010101000000'), ДатаОкончания, КонецДня(ДатаОкончания)) , "ФП = Истина"); ТабДокумент.Вывести(ОбластьЗаголовка); /////////////////////////////////////////////////////////////////////////////// // ВЫВОД ШАПКИ ТАБЛИЦЫ Выборка = РезультатЗапроса.Выбрать(); ОбластьШапки = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДокумент.Вывести(ОбластьШапки); /////////////////////////////////////////////////////////////////////////////// // ВЫВОД СТРОК ТАБЛИЦЫ СтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы"); Пока Выборка.Следующий() Цикл СтрокаТаблицы.Параметры.Заполнить(Выборка); ЦенаБезНДС = Окр((Выборка.Стоимость - Выборка.НДС) / ?(Выборка.Количество = 0, 1, Выборка.Количество), 2); ЦенаСНДС = Окр(Выборка.Стоимость / ?(Выборка.Количество = 0, 1, Выборка.Количество), 2); Наценка = ЦенаБезНДС / ?(Выборка.ЦенаПроизводителя = 0, ЦенаБезНДС, Выборка.ЦенаПроизводителя); ПроцентНаценки = Окр((Наценка - 1) * 100, 2); СтрокаТаблицы.Параметры.ЦенаПроизводителя = ФормированиеПечатныхФорм.ФорматСумм(Выборка.ЦенаПроизводителя); СтрокаТаблицы.Параметры.ЦенаБезНДС = ФормированиеПечатныхФорм.ФорматСумм(ЦенаБезНДС); СтрокаТаблицы.Параметры.ЦенаСНДС = ФормированиеПечатныхФорм.ФорматСумм(ЦенаСНДС); СтрокаТаблицы.Параметры.ОптоваяНадбавка = ПроцентНаценки; ТабДокумент.Вывести(СтрокаТаблицы); КонецЦикла; /////////////////////////////////////////////////////////////////////////////// // ВЫВОД ПОДВАЛА Область = Макет.ПолучитьОбласть("Подвал"); ТабДокумент.Вывести(Область); Возврат ТабДокумент; КонецФункции |
|||
1
Balabass
27.04.13
✎
10:45
|
Это никто читать не будет. По существу давай.
В консолью пользовался? |
|||
2
ded20ded
27.04.13
✎
10:48
|
найти для управляемого не могу
|
|||
3
Ник второй
27.04.13
✎
10:48
|
(0) Пригласи специалиста.
|
|||
4
Ник второй
27.04.13
✎
10:48
|
(2) Ну дык открой в не управляемом
|
|||
5
Escander
27.04.13
✎
10:49
|
(2) запусти в режиме обычного только для того что-бы открыть консоль... хотя и для УФ их должно уже быть полно... помнится spec8 делал такую
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |