![]() |
![]() |
![]() |
|
Вытащить месяц из даты в СКД | ☑ | ||
---|---|---|---|---|
0
DJ Anthon
01.09.13
✎
17:57
|
пытаюсь разобраться с подстрокой и выразить, но даже гугл говорит, что такого в скд нет и не будет. и функции ВРЕГ тоже не хватает. как можно поизвращаться?
нужна вот такая конструкция, но не компилится из-за последней строчки ((( ТОГДА ЖурналУчетаСчетовФактур.СчетФактура.Учреждение.Префикс + ПОДСТРОКА(ЖурналУчетаСчетовФактур.СчетФактура.Контрагент.НаименованиеПолное, 1, 1) + "0000" + Месяц(ЖурналУчетаСчетовФактур.СчетФактура.Дата) |
|||
1
Нуф-Нуф
01.09.13
✎
17:58
|
начни с того что хочешь получить
|
|||
2
DJ Anthon
01.09.13
✎
18:01
|
я хочу получить "04" из 01.04.2013
но дату ни в какой формат преобразовать не получается |
|||
3
Wobland
01.09.13
✎
18:12
|
вычисляемое поле предлагать?
|
|||
4
DJ Anthon
01.09.13
✎
18:18
|
(3) нет, мне это надо не печатать, эта подстрока участвует в дальнейшем запросе-алгоритме.
|
|||
5
DJ Anthon
01.09.13
✎
18:19
|
(3) смотрю сейчас, я с скд не сталкивался сильно до этого, теперь нужно очень интересный алгоритм запихать в один запрос, ищу способы...
|
|||
6
Wobland
01.09.13
✎
18:23
|
(5) не нужно
|
|||
7
DJ Anthon
01.09.13
✎
18:28
|
(6) вообще задача такая: надо некоторые счета-фактуры из журнала счетов-фактур сгруппировать в одну счет-фактуру с общим номером, но ссылкой на первую счет-фактуру из этой группы. с помощью кода я это сделал двумя вставками в стандартный журнал, а теперь журнал переписан на УФ и там СКД сразу же выводит полученную в результате запроса таблицу в табличный документ без кода. как можно поправить эту таблицу перед выводом в табличный документ?
|
|||
8
Wobland
01.09.13
✎
18:29
|
(7) при компоновке данных
|
|||
9
Wobland
01.09.13
✎
18:30
|
(8) *результата
|
|||
10
Wobland
01.09.13
✎
18:31
|
(7) а что такое журнал? обыкновенный отчёт?
|
|||
11
DJ Anthon
01.09.13
✎
18:32
|
вот такой там код
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета, ДанныеРасшифровкиОбъект); //Создадим и инициализируем процессор компоновки ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; // ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , , Истина); ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровкиОбъект, Истина); ДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиОбъект,ПараметрыОтчета.УникальныйИдентификатор); //Создадим и инициализируем процессор вывода результата ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); //Обозначим начало вывода ПроцессорВывода.НачатьВывод(); ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина); где тут компоновка? в нее уже входит табличный документ. (10) журнал полученных и выставленных счетов-фактур в БГУ - да, обычный отчет на скд |
|||
12
Wobland
01.09.13
✎
18:34
|
>СхемаКомпоновкиДанных
вот тут компоновка |
|||
13
DJ Anthon
01.09.13
✎
18:38
|
я просто хотел сделать по-людски - все в запросе, но видимо, так сделать не получится. ибо придется писать вложенный запрос, ищущий и суммирующий эти счет-фактуры. вот такой код был в нормальном отчете (не на скд):
Для каждого СтрокаТЧ из ТабЧасть Цикл УчетНДС.ЗаполнитьСтрокуТаблицыСчетаФактуры(СтрокаТЧ, ОбластьМакетаСтрока, СтруктураШапки.Дата, ДатаСменыФормы, СтруктураШапки.ПричинаНалогообложения); //Anthon -< Если Группировать Тогда Если (.....) Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | СУММА(Док.СуммаДокумента) КАК СуммаДокумента, | СУММА(Док.СуммаНДС) КАК СуммаНДС, | Док.СтавкаНДС КАК СтавкаНДС |ИЗ | Документ.НДС_СчетФактураВыданный КАК Док |ГДЕ | Док.Учреждение = &Учреждение | И Док.Контрагент = &Контрагент | И (Док.Дата МЕЖДУ &НачДата И &КонДата) | |СГРУППИРОВАТЬ ПО | СтавкаНДС"; Запрос.УстановитьПараметр("НачДата", НачалоМесяца(Дата)); Запрос.УстановитьПараметр("КонДата", КонецМесяца(Дата)); Запрос.УстановитьПараметр("Учреждение", Учреждение.Ссылка); Запрос.УстановитьПараметр("Контрагент", Контрагент.Ссылка); ТаблицаРезультат = Запрос.Выполнить().Выгрузить(); Для Каждого Строка Из ТаблицаРезультат Цикл УчетНДС.ЗаполнитьСтрокуТаблицыСчетаФактуры(СтрокаТЧ, ОбластьМакетаСтрока, СтруктураШапки.Дата, ДатаСменыФормы, СтруктураШапки.ПричинаНалогообложения); ОбластьМакетаСтрока.Параметры.Стоимость = Строка.СуммаДокумента - Строка.СуммаНДС; ОбластьМакетаСтрока.Параметры.СуммаНДС = Строка.СуммаНДС; ОбластьМакетаСтрока.Параметры.СтавкаНДС = ?(ЗначениеЗаполнено(Строка.СтавкаНДС), Строка.СтавкаНДС, Перечисления.СтавкиНДС.БезНДС); ОбластьМакетаСтрока.Параметры.Цена = ОбластьМакетаСтрока.Параметры.Стоимость / ?(СтрокаТЧ.Количество = 0, 1, СтрокаТЧ.Количество); ОбластьМакетаСтрока.Параметры.Всего = Строка.СуммаДокумента; ТабДокумент.Вывести(ОбластьМакетаСтрока); КонецЦикла; КонецЕсли; КонецЕсли; //Anthon -> (12) ну я не могу в ней найти таблицу с результатами запроса ((( можно пример какой-нибудь? |
|||
14
Wobland
01.09.13
✎
18:44
|
(13) при чём тут (0)?
|
|||
15
Armando
01.09.13
✎
18:48
|
Используй выражение представления
|
|||
16
Wobland
01.09.13
✎
18:51
|
(15) у меня сложилось впечатление, что он по этому делу группировать хочет
|
|||
17
DJ Anthon
01.09.13
✎
18:52
|
(14) я в запросе хотел сформировать номер новой счет-фактуры, которая должна заменить некоторые другие счета-фактуры.
вот тот второй кусок кода Если Группировать Тогда КК = Контрагент.НаименованиеПолное; Если (...) Тогда ОбластьМакетаШапка.Параметры.Номер = Учреждение.Префикс + Лев(ВРЕГ(КК), 1) + "0000" + (Месяц(Дата)); ОбластьМакетаШапка.Параметры.Дата = КонецМесяца(Дата); КонецЕсли; КонецЕсли; (14) добавил вычислимое поле, как в запросе его указать? говорит, поле не найдено... (15) где использовать? в запросе? |
|||
18
DJ Anthon
01.09.13
✎
18:52
|
(16) да, хотел по этому номеру группировать, ну или по счет-фактуре...
|
|||
19
Wobland
01.09.13
✎
18:55
|
(18) группировать можно и по вычисляемым полям
|
|||
20
Wobland
01.09.13
✎
18:57
|
даже не поленился проверить. конкатенирует и группирует.
"прф"+"Ж"+"0000"+Строка(Месяц(Поле1)) |
|||
21
DJ Anthon
01.09.13
✎
19:03
|
(20) что-то я уперся в кучу проблем (( может, все-таки есть способ подправить таблицу после выполнения запроса?
|
|||
22
DJ Anthon
01.09.13
✎
19:03
|
ну или подменить ее
|
|||
23
Wobland
01.09.13
✎
19:05
|
(22) я даже умею свою ТЗ делать и отдавать её в СКД
|
|||
24
DJ Anthon
01.09.13
✎
19:08
|
(23) пожалуйста, подскажите как?
|
|||
25
Wobland
01.09.13
✎
19:09
|
(24) минут 5 потратил на поиск готового. на память, есессно, не расскажу
|
|||
26
DJ Anthon
01.09.13
✎
19:10
|
http://1cskd.ru/2011/10/peredacha-tablicy-znachenij-v-skd-nabor-dannyx-obekt/
наверное, через внешние наборы данных, да? |
|||
27
Wobland
01.09.13
✎
19:13
|
(26) как-то так, да
|
|||
28
DJ Anthon
01.09.13
✎
19:38
|
(27) ну вот создал свой набор данных, передаю в него таблицу, а в макет все равно выводится первый набор данных. его что, надо удалить?
|
|||
29
DJ Anthon
01.09.13
✎
19:41
|
(27) ага, все, догнал, спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |