|
Вывод данных в отчет на СКд с макетом | ☑ | ||
---|---|---|---|---|
0
Валидатор
02.09.13
✎
13:37
|
Есть отчет на скд, вот запрос его:
ВЫБРАТЬ ПланЗакупокСоставПлана.ттДатаИзвещения КАК ДатаИзвещения, ПланЗакупокСоставПлана.ЕдиницаИзмерения.Код, ПланЗакупокСоставПлана.ЕдиницаИзмерения.Наименование, ПланЗакупокСоставПлана.ттСпособЗакупки КАК СпособЗакупки, ВЫБОР КОГДА ПланЗакупокСоставПлана.Ссылка.КПЗ = ИСТИНА ТОГДА "да" ИНАЧЕ "нет" КОНЕЦ КАК Закупка, ВЫБОР КОГДА ЕСТЬNULL(ПланЗакупокСоставПлана.Номенклатура.Артикул, "") = "" ТОГДА "" ИНАЧЕ ПОДСТРОКА(ПланЗакупокСоставПлана.Номенклатура.Артикул, 1, 2) + "." + ПОДСТРОКА(ПланЗакупокСоставПлана.Номенклатура.Артикул, 3, 2) + "." + ПОДСТРОКА(ПланЗакупокСоставПлана.Номенклатура.Артикул, 5, 1) КОНЕЦ КАК Артикул, ВЫБОР КОГДА ПланЗакупокСоставПлана.Ссылка.Подразделение.Родитель = ЗНАЧЕНИЕ(справочник.подразделения.пустаяссылка) ТОГДА ПланЗакупокСоставПлана.Ссылка.Подразделение КОГДА ПланЗакупокСоставПлана.Ссылка.Подразделение.Родитель.Родитель = ЗНАЧЕНИЕ(справочник.подразделения.пустаяссылка) ТОГДА ПланЗакупокСоставПлана.Ссылка.Подразделение.Родитель КОГДА ПланЗакупокСоставПлана.Ссылка.Подразделение.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(справочник.подразделения.пустаяссылка) ТОГДА ПланЗакупокСоставПлана.Ссылка.Подразделение.Родитель.Родитель КОНЕЦ КАК Подразделение, ПланЗакупокСоставПлана.Ссылка, ПланЗакупокСоставПлана.НомерСтроки, ПланЗакупокСоставПлана.Количество * ПланЗакупокСоставПлана.Цена КАК Сумма, ПланЗакупокСоставПлана.Ссылка.Проект, ПланыЗакупокОбороты.Номенклатура.Артикул КАК НоменклатураАртикул, ПланыЗакупокОбороты.Номенклатура КАК Номенклатура, ПланыЗакупокОбороты.КоличествоОборот, ПланыЗакупокОбороты.СтоимостьОборот, ПланыЗакупокОбороты.СтоимостьОборот / ПланыЗакупокОбороты.КоличествоОборот КАК Цена, ПланЗакупокСоставПлана.Номенклатура.ДополнительноеОписаниеНоменклатуры ПОМЕСТИТЬ втПланЗакупок ИЗ Документ.ПланЗакупок.СоставПлана КАК ПланЗакупокСоставПлана ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПланыЗакупок.Обороты КАК ПланыЗакупокОбороты ПО ПланЗакупокСоставПлана.Ссылка = ПланыЗакупокОбороты.ДокументПланирования ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втПланЗакупок.ДатаИзвещения, втПланЗакупок.ЕдиницаИзмеренияКод, втПланЗакупок.ЕдиницаИзмеренияНаименование, втПланЗакупок.СпособЗакупки, втПланЗакупок.Закупка, втПланЗакупок.Артикул, втПланЗакупок.Подразделение, ттРегионПоставки.кодОКАТО, ттРегионПоставки.Наименование, втПланЗакупок.Ссылка.Ссылка КАК Документ, втПланЗакупок.Ссылка.ДатаПланирования КАК ДатаПланирования, втПланЗакупок.Сумма, втПланЗакупок.Проект, втПланЗакупок.Номенклатура, втПланЗакупок.НоменклатураАртикул, втПланЗакупок.КоличествоОборот КАК Количество, втПланЗакупок.СтоимостьОборот КАК Стоимость, втПланЗакупок.Цена, втПланЗакупок.НомерСтроки, втПланЗакупок.НоменклатураДополнительноеОписаниеНоменклатуры КАК МинимальныеТребования ИЗ втПланЗакупок КАК втПланЗакупок ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ттРегионПоставки КАК ттРегионПоставки ПО втПланЗакупок.Подразделение = ттРегионПоставки.Подразделение ГДЕ втПланЗакупок.Ссылка.ДатаПланирования МЕЖДУ &ДатаНачала И &ДатаОкончания Запрос работает, все хорошо и все заполняет, НО, нужно теперь для определенных колонок вставить следующий код: //заполняем по дате извещения месяцы Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 1 Тогда Строка.Параметры.январь = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 2 Тогда Строка.Параметры.февраль = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 3 Тогда Строка.Параметры.мартИсп = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 4 Тогда Строка.Параметры.апрИсп = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 5 Тогда Строка.Параметры.майИсп = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 6 Тогда Строка.Параметры.июньИсп = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 7 Тогда Строка.Параметры.июльИсп = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 8 Тогда Строка.Параметры.авгИсп = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 9 Тогда Строка.Параметры.сентябрь = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 10 Тогда Строка.Параметры.октярь = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 11 Тогда Строка.Параметры.нобярь = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 12 Тогда Строка.Параметры.декабрь = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; //заполняем по дате планирования месяцы Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 1 И НЕ ВыборкаДетальныеЗаписи.ДатаИзвещения = '00010101'Тогда Строка.Параметры.я = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.я = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 2 Тогда Строка.Параметры.ф = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.ф = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 3 Тогда Строка.Параметры.март = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.март = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 4 Тогда Строка.Параметры.апр = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.апр = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 5 Тогда Строка.Параметры.май = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.май = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 6 Тогда Строка.Параметры.июнь = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.июнь = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 7 Тогда Строка.Параметры.июль = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.июль = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 8 Тогда Строка.Параметры.авг = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.авг = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 9 Тогда Строка.Параметры.с = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.с = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 10 Тогда Строка.Параметры.о = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.о = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 11 Тогда Строка.Параметры.н = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.н = ""; КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 12 Тогда Строка.Параметры.д = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.д = ""; КонецЕсли; ТабДок.Вывести(строка); в печатной форме, которая аналогична этому документу таким образом идет заполнение дат, теперь собственно вопрос: как мне последний код прописать в запрос для СКД? |
|||
1
rbcvg
02.09.13
✎
13:42
|
ВЫБОР КОГДА
|
|||
2
Валидатор
02.09.13
✎
13:42
|
или как лучше сделать отчет на основании своего макета, когда у меня есть уже весь код для вывода, но только для печатной формы, а не для макета?
|
|||
3
Валидатор
02.09.13
✎
14:00
|
(1)
выбор Когда Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 1 Тогда (как тут указать год из даты планирования) Конец; ?? |
|||
4
kittystark
02.09.13
✎
16:39
|
если надо из поля даты отображать только значение года в СКД, воспользуйся на вкладке НаборыДанных колонкой Оформление и задай там твой формат yyyy
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |