Имя: Пароль:
1C
1С v8
Настройка специфичной даты в СКД
0 DreamMaster
 
27.02.14
08:42
Есть запрос в СКД, в котором нужно наложить условие на регистр накопления (указать дату начала). Проблема в том, что нужна дата "Текущая Дата - 4 недели". В скд такого варианта увы нет. Передавать параметр из вне нельзя - необходимо использовать только настройки СКД
1 Wobland
 
27.02.14
08:43
откуда такие неверные сведения?
2 DreamMaster
 
27.02.14
08:43
(1) В каком смысле?
3 Wobland
 
27.02.14
08:44
почему ты так решил?
4 DreamMaster
 
27.02.14
08:44
(3) что "решил" ?!
5 Wobland
 
27.02.14
08:45
что минус 4 недели - это специфично, что тебе выкручивают руки и не дают это сделать
6 DreamMaster
 
27.02.14
08:46
(5) В скд есть настройки: начало этого дня, начало прошлого месяца... и т.д. мне еженедельно необходимо формировать отчет в котором дата должна указываться текущая - 4 недели
7 Wobland
 
27.02.14
08:47
добавляй к дате прямо в запросе
8 DreamMaster
 
27.02.14
08:48
Разве в настройках периода во временной таб. регистра можно использовать функция добавитькдате() ?!
9 DreamMaster
 
27.02.14
08:49
(8( *функцию
10 Wobland
 
27.02.14
08:49
ну в параметрах, какая разница
11 Defender aka LINN
 
27.02.14
08:50
(7) К какой дате? :)
(6) А если этот параметр устанавливать программно, то разверзнутся врата ада и поглотят тебя на веки вечные?
С небес спустится ангел с пылающим мечом и превратит 22см в 2?
Тебя запрут в одной комнате с фиксинымм?
Отправят на майдан, переодетым Януковичем?
12 Wobland
 
27.02.14
08:52
(8) хоть попробовал?
13 Wobland
 
27.02.14
08:52
(11) к &Период
14 DreamMaster
 
27.02.14
08:55
(13) ты сам то побывал, если такое советуешь? Это бред! Арифметические операции в настройке периода запрещены.
(11) Молодец, пошутил. Если написано "нельзя" значит нельзя. Есть пустой запрос СКД. Различные регламентные задание заполняют это СКД и отсылают нужным людям. Программного заполнения просто нет и быть не может.
15 Wobland
 
27.02.14
08:57
конструкцию типа &Дата+"4 (четыре) недели" не пробовал и не собираюсь
16 Wobland
 
27.02.14
08:58
Различные регламентные задание выполняются различными мальчиками-неграми фломастерами на бумажке?
17 DreamMaster
 
27.02.14
09:00
(15) Так зачем тогда пишешь?!?! Если не знаешь - не лучше ли промолчать?
(16) Какая разница?
18 Wobland
 
27.02.14
09:01
(17) разница в том, что в случае негров программного заполнения действительно быть не может
19 DreamMaster
 
27.02.14
09:02
(16) Регламентное задание выполняет скуль. Не запускается 1С, ничего негде не открывается. Просто выполняется запрос, запихивает результаты и отсылает людям в формате .xls
20 DreamMaster
 
27.02.14
09:02
По-этому программного заполнения нет. Есть только настройки скд и всё
21 Wobland
 
27.02.14
09:04
какое-то обострение сегодня
22 Feunoir
 
27.02.14
09:05
(0) Функции языка выражений системы компоновки данных

ДобавитьКДате (DateAdd)
Функция предназначена для прибавления к дате некоторой величины.

Синтаксис:

ДобавитьКДате(Выражение, ТипУвеличения, Величина)

Параметры:

Выражение - тип Дата. Исходная дата;
ТипУвеличения - тип Строка. Содержит одно из значений:
Минута;
Час;
День;
Неделя;
Месяц;
Квартал;
Год;
Декада;
Полугодие.
Величина – на сколько необходимо увеличить дату. Тип Число. Дробная часть игнорируется.
Пример:

ДобавитьКДате(ДатаВремя(2002, 10, 12, 10, 15, 34), "Месяц", 1)

Результат:

12.11.2002 10:15:34


http://i.imgur.com/sthuqgX.png
23 Feunoir
 
27.02.14
09:06
(21) С позавчерашнего дня началось. Когда Мисти жгла напалмом. Видимо покусала остальных, вот и эпидемия.
24 Wobland
 
27.02.14
09:06
завтра катена нам поведает краткую сводку ;)
25 Feunoir
 
27.02.14
09:07
(24) Ждём-стараемся. Уж очень хочется туда тоже хоть разок попасть.
26 DreamMaster
 
27.02.14
09:07
(22) Ты когда-нибудь использовал данную функцию в настройке периода временной табл. регистра ?
27 Feunoir
 
27.02.14
09:09
(26) Я тебе показал пример использования аналогичной функции в реально работающем отчёте на СКД. Поверь. Программного заполнения настроек там нет. Вся компоновка типовыми средствами.
28 DreamMaster
 
27.02.14
09:09
Feunoir возьми регистр остатков и сделай запрос, который покажет остаток на конец дня 4 недели назад (с помощью функции "ДобавитьКДате". Потом пойми какую хрень ты написал и в дальнейшем думай что пишешь и советуешь людям
29 Wobland
 
27.02.14
09:14
(28) если возьмёт и сделает, что планируешь делать?
30 DreamMaster
 
27.02.14
09:16
(29) Это из той же темы: что я сделаю, если сейчас ко мне в кабинет заходит Путин и дарит лям $$$.
31 DreamMaster
 
27.02.14
09:16
Давай не будет фантазировать =)
32 DreamMaster
 
27.02.14
09:16
*не будем
33 МойКодУныл
 
27.02.14
09:18
(30) Насколько упоротый народ пошел, даже прямым текстом не понимает.
ДОБАВИТЬКДАТЕ(&ДатаС,-4,"НЕДЕЛЯ") - это напиши на закладке параметры в СКД в поле выражение, у нужного тебе параметра.
34 Wobland
 
27.02.14
09:19
на, горе. и больше не хами взрослым

http://i.imgur.com/U6fWi5m.png
35 DreamMaster
 
27.02.14
09:21
(34) ты знаешь, что такое СКД ?
(33) ОШИБКА!!! Не удалось проверить результат: {ОбщийМодуль.ДляЗаданий(394)}: Ошибка при вызове метода контекста (Выполнить): Ошибка компоновки макета: Ошибка в выражении: Неверные параметры "ДобавитьКДате"
36 Wobland
 
27.02.14
09:22
(35) представления не имею
37 DreamMaster
 
27.02.14
09:24
(36) ну по твоему скрину я так и понял
38 Wobland
 
27.02.14
09:25
а это ж ТС нас не так давно убеждал, что ПодключитьОбработчикОжидания - это круто?
39 DreamMaster
 
27.02.14
09:26
(38) был спор на эту тему
40 Wobland
 
27.02.14
09:26
и тут внезапно появились регзадания..
41 Feunoir
 
27.02.14
09:27
(28) Ты охренел, товарищ? вот готовая схема http://yadi.sk/d/kpMDrr7sJcgEE

вот результат работы http://i.imgur.com/kMeIpq4.png

а теперь мне хотелось бы от тебя извинений услышать
42 Feunoir
 
27.02.14
09:28
(40) Да похрену на регзадания. "Начало текущего дня" и из регзадания спокойно заполнится.
43 МойКодУныл
 
27.02.14
09:29
(41) Не дождешься, пока ему не решишь ЕГО задачу.
44 Wobland
 
27.02.14
09:30
(42) Мне нужна обработка, которую раз запустил и она висит. Нет смысла делать шедули, если действие выполняется каждые 10 минут (проще подключить обработчик ожидания)
© v8: Программное открытие 1С с определенной обработкой
45 Wobland
 
27.02.14
09:30
мне кажется, ТС неотёсан, асоциален и деструктивен
46 DreamMaster
 
27.02.14
09:30
(41) Кинь в переписку сам запрос, очень интересно его глянуть (не в XML)
47 Feunoir
 
27.02.14
09:31
ВЫБРАТЬ
    ЕСТЬNULL(ТоварыНаСкладахОстатки.Склад, ТоварыНаСкладахОстаткиПрошлые.Склад) КАК Склад,
    ЕСТЬNULL(ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстаткиПрошлые.Номенклатура) КАК Номенклатура,
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
    ТоварыНаСкладахОстаткиПрошлые.КоличествоОстаток КАК КоличествоПрошлыйОстаток
{ВЫБРАТЬ
    Склад.*,
    Номенклатура.*,
    КоличествоОстаток,
    КоличествоПрошлыйОстаток}
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОтчета, ) КАК ТоварыНаСкладахОстатки
        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ПредыдущаяДата, ) КАК ТоварыНаСкладахОстаткиПрошлые
        ПО ТоварыНаСкладахОстатки.Склад = ТоварыНаСкладахОстаткиПрошлые.Склад
            И ТоварыНаСкладахОстатки.Номенклатура = ТоварыНаСкладахОстаткиПрошлые.Номенклатура
{ГДЕ
    ТоварыНаСкладахОстатки.Склад.*,
    ТоварыНаСкладахОстатки.Номенклатура.*,
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ТоварыНаСкладахОстаткиПрошлые.КоличествоОстаток}
48 МойКодУныл
 
27.02.14
09:31
(45) мыслит расхожими клише?
49 DreamMaster
 
27.02.14
09:34
(25) таак, и где ты потом используешь ДОБАВИТЬКДАТЕ ?
50 Feunoir
 
27.02.14
09:34
+(47) Запрос без правильных настроек СКД не взлетит. Именно поэтому я тебе привёл всю схему, чтобы ты её внимательно читал, думал и просвещался.

Ну и отучался хамить тем людям, которые пытаются тебе помочь. Так как по содержанию твоих тем можно сделать вывод, что опыта-то у тебя чуть больше, чем ноль.
51 Feunoir
 
27.02.14
09:38
(49) Или ты не знаешь как загрузить схему СКД из XML?
52 МойКодУныл
 
27.02.14
09:39
к (33)->(49) там порядок следования параметров не тот. Писал от руки, но это же можно проверить:)

ДОБАВИТЬКДАТЕ(&ДатаС,-4,"НЕДЕЛЯ") - так заработает?
53 МойКодУныл
 
27.02.14
09:39
поменять на ДОБАВИТЬКДАТЕ(&КонецПериода,"НЕДЕЛЯ",-4)
54 DreamMaster
 
27.02.14
09:40
(50) Если тебя задели мои слова - сочувствую, но хамить начал не я. Повторюсь, в настройках скд, в поле выражение использовать функцию ДОБАВИТЬКДАТЕ не дает. Может это связано с тем, что СКД использует рег. задание. Дело в том, что если ты с этим не сталкивался - незачем писать что-либо, чтобы сотресать воздух
55 Feunoir
 
27.02.14
09:44
(54) Ты хочешь сказать, что корректно заполненная и запущенная на выполнение СКД в регламентном задании работает не так, как из простого серверного модуля? А 1С про это знает?
56 Defender aka LINN
 
27.02.14
09:45
(54) У всех дает, у тебя нет. Странным не находишь?
57 Wobland
 
27.02.14
09:52
(54) это связано исключительно с анатомико-физиологическими особенностями твоего организма
58 Feunoir
 
27.02.14
10:05
(57) Хорошая теория, многое объясняет (с) О чём говорят мужчины.
59 DreamMaster
 
27.02.14
10:06
(53) Огромное спасибо! Так работает.
60 Feunoir
 
27.02.14
10:18
(59) Так получается всё-таки работает ДОБАВИТЬКДАТЕ в параметрах СКД или нет?
61 catena
 
27.02.14
11:56
А это интересный способ - нахамить, взять на слабо и получить готовое решение)))
62 Wobland
 
27.02.14
12:08
+(61) причём ждать исправлений с точностью до запятой.
свинота
63 МойКодУныл
 
27.02.14
12:17
(61)(62) Злые вы:), мы же здесь чтобы помогать - нести доброе, вечное, желтое!
65 ИС-2
 
naïve
27.02.14
12:23
(54) надо чтобы в выпадающем списке был вариант "4 недели назад"?

Сделай свой список параметров с этим вариантом
66 catena
 
27.02.14
13:13
(63)"нести доброе, вечное, желтое!"
Напомнило чудесную песню:

На Академовском чистом снегу
Пишут влюбленные, что за манера -
Выплеснуть чувства у стен универа
На Академовском чистом снегу.