|
Не умею создавать регламентное задание, помогите. | ☑ | ||
---|---|---|---|---|
0
Айрат_116
26.07.19
✎
09:22
|
Доброе утро! Подскажите пжл какими вариантами можно сделать такое задание -1) https://wampi.ru/image/62DUzO6 --2)https://wampi.ru/image/62DUMdw
Я понимаю что всех достал здесь( Но нужен совет. Раньше никогда не делал такое задание. |
|||
57
Айрат_116
29.07.19
✎
09:15
|
Доброе утро! Подскажите еще одну вещь. Написал запрос для проверки на выходные дни. А как проверить незнаю(
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, | РегламентированныйПроизводственныйКалендарь.ВидДня |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)"; Результат = Запрос.Выполнить(); Если Результат.Колонки.ВидДня = Тогда |
|||
58
Айрат_116
29.07.19
✎
09:28
|
Как написать так чтоб. Если 25,26 выходные тогда 27
Если 26,27 выходной тогда 28? |
|||
59
catena
29.07.19
✎
10:54
|
(58)У тебя в запросе только один вид дня, для чего его дополнительно проверять? Сделай запрос по нерабочим дням и на конкретную дату, которую проверяешь. Тогда будет Если Результат.Пустой(), значит твоя дата рабочая.
|
|||
60
Айрат_116
29.07.19
✎
10:59
|
(59) Хорошо. щас попробую напишу такой запрос.
|
|||
61
Айрат_116
29.07.19
✎
11:27
|
(59) https://wampi.ru/image/62mLxKY Вот такая ошибка выходит( Когда я ставлю условие по не рабочим дням
|
|||
62
catena
29.07.19
✎
11:52
|
(61)Нерабочий день - это как рабочий, только не....
|
|||
63
Айрат_116
29.07.19
✎
12:00
|
(62) Это понятно. Что не...
Суббота и воскр и праздники вроде как входит в это "НЕ" |
|||
64
catena
29.07.19
✎
12:24
|
(63)НЕ твое это, бросай...
В языке запросов используются условия отбора, в соответствии с которыми осуществляется отбор данных в предложениях ГДЕ, ИМЕЮЩИЕ и СОЕДИНЕНИЕ. Условия описываются по следующим правилам: В простейшем случае условие является выражением, результат которого имеет значение логического типа. Условия могут определяться и как более сложные логические выражения, где фигурируют простые логические выражения, соединенные между собой с помощью логических операторов И, ИЛИ, НЕ. |
|||
65
Айрат_116
29.07.19
✎
13:15
|
(64) Хорошо. Спасибо
|
|||
66
Айрат_116
31.07.19
✎
09:53
|
Доброе утро! Подскажите пжл как написать так чтоб
Если 27 сработала тогда 28 числа возврат или 26 сработала 27,28 тогда возврат Вот такой код Если День("20191127")<26 ИЛИ День("20191127")>28 Тогда Сообщить("Возврат1"); Возврат; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегламентированныйПроизводственныйКалендарь.ВидДня, | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | Не РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = &ДатаКалендаря" ; Запрос.УстановитьПараметр("ДатаКалендаря",Дата("20191127")); Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда Сообщить("Выходной"); Возврат; КонецЕсли; Если День("20191127") = 28 и 27 и Не Результат.Пустой() Тогда Сообщить("Проверка 27-28"); Возврат; КонецЕсли; Сообщить("Финиш"); |
|||
67
catena
31.07.19
✎
10:13
|
Тут все сложно. Тут запоминать придется, когда сработало.
|
|||
68
Айрат_116
31.07.19
✎
10:23
|
(67) Дело в том что
Если я 28 ноября 2019 это четверг то возврат происходит Вроде как правильно А когда ставлю 28 октября 2019 это понедельник То тоже возврат |
|||
69
Айрат_116
31.07.19
✎
10:24
|
Я вроде понял в чем дело. А как сделать. Незнаю(
|
|||
70
hhhh
31.07.19
✎
10:42
|
(69) там же в расписании есть галочки Понедельник, Вторник и т.д. Проставьте их и всё. Чего вы чудачите?
|
|||
71
Айрат_116
31.07.19
✎
10:49
|
(70) Ну две ситуации может быть
например Я запускаю 26 1) 26 попал на субботу тогда нужно 28 как это с галочками там сделать? Или 2)26 попал на воскресенье тогда 27 это тоже как сделать с галочками там? |
|||
72
hhhh
31.07.19
✎
10:53
|
(71) ну 26 галочка не стоит, значит не сработает. 27-го в понедельник сработает
|
|||
73
Айрат_116
31.07.19
✎
10:55
|
Щас попробую. Покажу как сделал.
|
|||
74
dka80
31.07.19
✎
10:58
|
Опять ты????
|
|||
75
Айрат_116
31.07.19
✎
10:59
|
(74) =)
|
|||
76
Айрат_116
31.07.19
✎
11:00
|
(72) Вот сделал https://wampi.ru/image/623J8dP верно?
|
|||
77
vova1122
31.07.19
✎
11:00
|
Нет. Галочками по дням не сработает. Если 26 попадет например на понедельник, тогда и 26 и 27 сработает (а по условию задачи недолжно)
|
|||
78
vova1122
31.07.19
✎
11:03
|
(76) на первой закладке поставь 1 (чтоб писало "каждый день") но думаю не сработает так как нужно по задаче.
Думаю бедет выполнятся только 26 числа (и + если это не выходные) |
|||
79
catena
31.07.19
✎
11:03
|
(72)Впрос в том, если 26,27,28 - будние дни, как не отправлять 27 и 28
|
|||
80
hhhh
31.07.19
✎
11:06
|
(79) вообще-то этих дней неисоизмеримо мало: 12 дней в году. Тупо забить 60 значений в массив на ближайшие 5 лет и забыть.
|
|||
81
Айрат_116
31.07.19
✎
11:08
|
Праздники тоже входит в выходные
|
|||
82
catena
31.07.19
✎
11:08
|
(80)Как вариант для ТС - отличное решение :)
|
|||
83
hhhh
31.07.19
✎
11:08
|
(79) а так элементарную проверку
если 26 суббота, то выводить 28 если 26 воскресенье, то выводить 27 иначе выводить 26 |
|||
84
vova1122
31.07.19
✎
11:08
|
(80) Проще проверить на ДеньНедели(ТекущаяДата()) и игратся с этими значениями
|
|||
85
hhhh
31.07.19
✎
11:10
|
(81) у вас какая страна? где это праздник 26го?
|
|||
86
vova1122
31.07.19
✎
11:10
|
(81) Это вопрос? или дополнительное условие которого в (0) небыло.
|
|||
87
Айрат_116
31.07.19
✎
11:12
|
(86) Это в регистре есть
|
|||
88
Айрат_116
31.07.19
✎
11:14
|
Я сделал запрос по совету (59) по не рабочим дням
|
|||
89
vova1122
31.07.19
✎
11:15
|
Если конфигурация нетиповая, то еще такой вариант я бы сделал: Добавил бы контстанту ДатаПоследнейПередачи. И проверял сколько (Если дата между 26-28 числами) дней прошло с последней передачи. И если больше4 дня, то передавать
|
|||
90
dka80
31.07.19
✎
11:16
|
Если День(ТекущаяДата())<26 ИЛИ День(ТекущаяДата())>27 Тогда Возврат КонецЕсли;
Если ЭтоВыходнойДень(Дата(Год(ТекущаяДата()), Месяц(ТекущаяДата()), 26) Тогда Возврат КонецЕсли; Если Не ЭтоВыходнойДень(Дата(Год(ТекущаяДата()), Месяц(ТекущаяДата()), 26) И День(ТекущаяДата())=27 Тогда Возврат КонецЕсли; Далее твой код по передаче Функция ЭтоВыходнойДень(ПроверяемаяДата) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, | РегламентированныйПроизводственныйКалендарь.ВидДня |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря= &ПроверяемаяДата"; Запрос.УстановитьПараметр("ПроверяемаяДата", ПроверяемаяДата); Результат = Запрос.Выполнить(); Возврат Результат.Пустой(); КонецФункции |
|||
91
Айрат_116
31.07.19
✎
11:23
|
(90) Спасибо. Щас попробую проверить.
|
|||
92
vova1122
31.07.19
✎
11:26
|
(90) условия невырны. Во первыых период с 26 по 28. Во вторых если 26 будет выходной, то код ниже в ТекущемМесяце вобще никогда не выполнится
|
|||
93
dka80
31.07.19
✎
11:28
|
(92) ТЗ в (0) смотрел? 27 крайняя дата когда должен быть отправлен отчет
|
|||
94
Айрат_116
31.07.19
✎
11:32
|
(93) 28 сказали. просто может быть 26-27 выходной тогда 28 выполнять
|
|||
95
Айрат_116
31.07.19
✎
11:32
|
(90) Ошибка только одна выходит(
{ВнешнийОтчет.ОсвоениеИнвестиционныхПроектов.Форма.ФормаОтчета.Форма(52)}: Преобразование значения к типу Булево не может быть выполнено Если Не ЭтоВыходнойДень(Дата(Год("20191126"), Месяц("20191126"), 26) И День("20191126")=27) Тогда |
|||
96
vova1122
31.07.19
✎
11:35
|
(93) что это меняет, всеравно нужно минимум три дня. А с учетом допУсловия (нужно учитывать также и праздники) период нужно увеличить.
Ну и по условию что ты создал, когда виполнится выгрузка, если 26 -это субота или воскресенье? |
|||
97
vova1122
31.07.19
✎
11:39
|
(95) что возвращает твоя функция ЭтоВыходнойДень ?
|
|||
98
dka80
31.07.19
✎
11:39
|
(96) по моему условию выполнится 27 числа
|
|||
99
dka80
31.07.19
✎
11:40
|
(95) Ну включи немного голову
Дата оформляется опострофами, а не ковычками. Правильно '20191126' |
|||
100
dka80
31.07.19
✎
11:43
|
(94) в ТЗ у тебя было написано, что 25,26 может быть выходной и выполнять надо 27. Раз у тебя новые вводные, ну прибавь единичку ко всем цифрам в (90)
|
|||
101
vova1122
31.07.19
✎
11:44
|
(98) Уверен?
Если ЭтоВыходнойДень(Дата(Год(ТекущаяДата()), Месяц(ТекущаяДата()), 26) Тогда Возврат КонецЕсли; Вот эта строка не пропустит дальше. Ты же проверяешь является ли 26 число выходным (но если ТекущаяДата например 27 число, то это не отменяет того факта что 26 - выходной и по твоему условию всеравно будет Возврат) |
|||
102
dka80
31.07.19
✎
11:47
|
(101) Если ЭтоВыходнойДень(Дата(Год(ТекущаяДата()), Месяц(ТекущаяДата()), 26) И День(ТекущаяДата())=26 Тогда Возврат КонецЕсли;
Пусть ТС немного голову включит |
|||
103
Айрат_116
31.07.19
✎
11:59
|
(99) Разницу я не увидел
|
|||
104
vova1122
31.07.19
✎
12:04
|
(103) больше конкретики
|
|||
105
Айрат_116
31.07.19
✎
12:07
|
Что то все равно не хочет получатся(
|
|||
106
dka80
31.07.19
✎
12:10
|
(105) ты на (103) ответишшь?
|
|||
107
dka80
31.07.19
✎
12:10
|
точнее на (104)
|
|||
108
Айрат_116
31.07.19
✎
12:11
|
(106) Извините не увидел
|
|||
109
Айрат_116
31.07.19
✎
12:14
|
(104) То что дату ставишь хоть в кавычках хоть с опострофами
Разницы нет вроде как |
|||
110
Айрат_116
31.07.19
✎
12:17
|
Вот так написал пока
Если День('20191126')<26 ИЛИ День('20191126')>27 Тогда Сообщить("1"); Возврат; КонецЕсли; Если ЭтоВыходнойДень(Дата(Год('20191126'), Месяц('20191126'), 26)) Тогда Сообщить("2"); Возврат; КонецЕсли; Если Не ЭтоВыходнойДень(Дата(Год('20191126'), Месяц('20191126'), 26) и День('20191126')=27) Тогда Сообщить("3"); Возврат; КонецЕсли; Сообщить("Фин"); На второй он возврат не делает а на 3 на строке Если Не ЭтоВыходнойДень ошибка |
|||
111
vova1122
31.07.19
✎
12:23
|
(110) в 3-м напутал с скобками
Если Не ЭтоВыходнойДень(Дата(Год('20191126'), Месяц('20191126'), 26)) и День('20191126')=27 Тогда |
|||
112
vova1122
31.07.19
✎
12:24
|
или даже так:
Если Не (ЭтоВыходнойДень(Дата(Год('20191126'), Месяц('20191126'), 26))) и (День('20191126')=27) Тогда |
|||
113
Айрат_116
31.07.19
✎
12:25
|
(111) Точно. Щас до "фин" дошла
|
|||
114
Айрат_116
31.07.19
✎
12:26
|
Щас буду проверять дальше
|
|||
115
dka80
31.07.19
✎
12:29
|
(112) (День('20191126')=27) точно?
|
|||
116
dka80
31.07.19
✎
12:29
|
(115) а, или потом это будет заменено на текущаядата()?
|
|||
117
vova1122
31.07.19
✎
12:30
|
Кстати покажи саму функцию - ЭтоВыходнойДень
|
|||
118
Айрат_116
31.07.19
✎
12:43
|
(117) Функция ЭтоВыходнойДень(ПроверяемаяДата)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, | РегламентированныйПроизводственныйКалендарь.ВидДня |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = &ДатаКалендаря"; Запрос.УстановитьПараметр("ДатаКалендаря", Дата('20191126')); Результат = Запрос.Выполнить(); Возврат Результат.Пустой(); КонецФункции |
|||
119
dka80
31.07.19
✎
12:44
|
(118) Запрос.УстановитьПараметр("ДатаКалендаря", Дата('20191126'));
Замени на Запрос.УстановитьПараметр("ДатаКалендаря", ПроверяемаяДата); |
|||
120
Айрат_116
31.07.19
✎
12:45
|
(119) Да это ставил
|
|||
121
Айрат_116
31.07.19
✎
12:46
|
Ааа понял
|
|||
122
Айрат_116
31.07.19
✎
12:54
|
Только я щас не пойму.
Я поставил 27 мая понедельник и в итоге возврат 2 происходит. Если ЭтоВыходнойДень(Дата(Год('20190527'), Месяц('20190527'), 26)) Тогда Сообщить("2"); Возврат; КонецЕсли; Если Не ЭтоВыходнойДень(Дата(Год('20190527'), Месяц('20190527'), 26)) и День('20190527')=27 Тогда Сообщить("3"); Возврат; КонецЕсли; Сообщить("Фин"); |
|||
123
vova1122
31.07.19
✎
13:01
|
(122) читал исправление в (102) ?
|
|||
124
Айрат_116
31.07.19
✎
13:05
|
(123) Прочитал
|
|||
125
Айрат_116
31.07.19
✎
13:18
|
(116) Да это потом на текущую дату заменю
|
|||
126
Айрат_116
31.07.19
✎
13:27
|
Щас получается так что
если я ставлю 27 на воскресенье то она возврат не делает. |
|||
127
dka80
31.07.19
✎
13:45
|
(126) наверное, потому что 27 мая 2019 это понедельник
|
|||
128
Айрат_116
31.07.19
✎
13:48
|
(127) Я ставил на 27 октября 2019
|
|||
129
Айрат_116
31.07.19
✎
13:55
|
(127) Это воскресенье
Если вот так написать Если ЭтоВыходнойДень(Дата(Год('20191027'), Месяц('20191027'), 26)) и День('20191027')=27 Тогда Писать то возврат срабатывает А так нет Если Не ЭтоВыходнойДень(Дата(Год('20191027'), Месяц('20191027'), 26)) и День('20191027')=27 Тогда |
|||
130
Fish
31.07.19
✎
14:01
|
(129) Ну так логично. Как ставишь условие, так и срабатывает.
|
|||
131
Айрат_116
31.07.19
✎
14:35
|
Вот сделал так. Проверял вроде нормально. dka80 vova1122 Спасибо вам большое помогли)
Если День('20190528')<26 ИЛИ День('20190528')>28 Тогда Сообщить("1"); Возврат; КонецЕсли; Если ЭтоВыходнойДень(Дата(Год('20190528'), Месяц('20190528'), 26)) И День('20190528')=26 Тогда Сообщить("2"); Возврат; КонецЕсли; Если НЕ ЭтоВыходнойДень(Дата(Год('20190528'), Месяц('20190528'), 26)) и День('20190528')=27 Тогда Сообщить("3"); Возврат; КонецЕсли; Если НЕ ЭтоВыходнойДень(Дата(Год('20190528'), Месяц('20190528'), 27)) и День('20190528')=28 Тогда Сообщить("4"); Возврат; КонецЕсли; Сообщить("финиш"); КонецПроцедуры Функция ЭтоВыходнойДень(ПроверяемаяДата) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, | РегламентированныйПроизводственныйКалендарь.ВидДня |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = &ДатаКалендаря"; Запрос.УстановитьПараметр("ДатаКалендаря", Дата(ПроверяемаяДата)); Результат = Запрос.Выполнить(); Возврат Результат.Пустой(); КонецФункции |
|||
132
Greeen
31.07.19
✎
14:40
|
ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
еще надо предпраздничные добавить по идее |
|||
133
Айрат_116
31.07.19
✎
14:46
|
(132) Вот так?
ВЫБРАТЬ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, | РегламентированныйПроизводственныйКалендарь.ВидДня |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный) | И РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = &ДатаКалендаря"; |
|||
134
piter3
31.07.19
✎
14:56
|
Напомните,а что день может быть и рабочим и предпраздничным одновременно?
|
|||
135
Айрат_116
31.07.19
✎
14:57
|
(134) Например может перед 28 февралём быть
|
|||
136
Айрат_116
31.07.19
✎
14:59
|
(134) Если 26 воскресенье, 27 понедельник предпраздничный день как бы получается
|
|||
137
piter3
31.07.19
✎
15:03
|
(136)Открой и посмотри РегламентированныйПроизводственныйКалендарь.Что у тебя может в один деь стоять два варианта: Предпраздничный и Рабочий?
|
|||
138
Айрат_116
31.07.19
✎
15:10
|
(137) Посмотрел. Все в отдельный дни
Например 29.04.2019 Раб 30.04.2019 Предпраз 01.05.2019 Праздник |
|||
139
piter3
31.07.19
✎
15:11
|
(138) Тогда какого рожна у тебя между Предпраздничный и Рабочий стоит условие И?А?
|
|||
140
Айрат_116
31.07.19
✎
15:16
|
(139) Да в консоле проверил не правильно
|
|||
141
Greeen
31.07.19
✎
15:22
|
(140) нужный нам день должен быть рабочим ИЛИ предпразничным имелось в виду
Т.е. в запросе должно быть условие не И а ИЛИ =) |ГДЕ | (РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный) | ИЛИ РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)) | И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = &ДатаКалендаря"; но лучше так |ГДЕ | (РегламентированныйПроизводственныйКалендарь.ВидДня в (ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный),ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)) | И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = &ДатаКалендаря"; |
|||
142
Айрат_116
31.07.19
✎
15:26
|
(141) Спасибо) я в консоле тоже всперва сделал первый вариант
Но почему то всперва не было ничего. Результат не тот выходил |
|||
143
vova1122
31.07.19
✎
15:30
|
Первый и второй вариант дают одинаковый результат. Ты скорее забыл про скобки (для объединения двух условий)
|
|||
144
Айрат_116
31.07.19
✎
15:40
|
(143) Точно
|
|||
145
Айрат_116
31.07.19
✎
15:54
|
Итог: Вот так вообщем получилось. Посмотрите пжл. Что может быть не так.
И вот такой настройки поставил: https://wampi.ru/image/628xjli Процедура тн_РегламетноеЗаданиеОбменSap (СтатФорма) Экспорт Если День(ТекущаяДата())<26 ИЛИ День(ТекущаяДата())>28 Тогда Возврат; КонецЕсли; Если ЭтоВыходнойДень(Дата(Год(ТекущаяДата()), Месяц(ТекущаяДата()), 26)) И День(ТекущаяДата())=26 Тогда Возврат; КонецЕсли; Если ЭтоВыходнойДень(Дата(Год(ТекущаяДата()), Месяц(ТекущаяДата()), 27)) И День(ТекущаяДата())=27 Тогда Возврат; КонецЕсли; Если НЕ ЭтоВыходнойДень(Дата(Год(ТекущаяДата()), Месяц(ТекущаяДата()), 26)) и День(ТекущаяДата())=27 Тогда Возврат; КонецЕсли; Если НЕ ЭтоВыходнойДень(Дата(Год(ТекущаяДата()), Месяц(ТекущаяДата()), 27)) и День(ТекущаяДата())=28 Тогда Возврат; КонецЕсли; Организация = Справочники.Организации.НайтиПоКоду("000000001"); ПараметрыОтчета = Новый Структура; ПараметрыОтчета.Вставить("ИДФормы", СтатФорма); ПараметрыОтчета.Вставить("Организация", Организация); ПараметрыОтчета.Вставить("НачалоПериода", НачалоМесяца(ТекущаяДата())); ПараметрыОтчета.Вставить("КонецПериода", КонецМесяца(ТекущаяДата())); РегистрыСведений.тн_СтатистическаяОтчетностьДляSAP.ПерезаполнитьОтчетность(ПараметрыОтчета); КодФормы = РегистрыСведений.тн_СтатистическаяОтчетностьДляSAP.ПолучитьКодФормыПоИДФормы(СтатФорма); Если ЗначениеЗаполнено(КодФормы) Тогда тн_ОбменSAP.ПередатьВSAP(КодФормы, НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата())); КонецЕсли; КонецПроцедуры Функция ЭтоВыходнойДень(ПроверяемаяДата) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, | РегламентированныйПроизводственныйКалендарь.ВидДня |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.ВидДня в (ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный) ,ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)) | И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = &ДатаКалендаря"; Запрос.УстановитьПараметр("ДатаКалендаря", Дата(ПроверяемаяДата)); Результат = Запрос.Выполнить(); Возврат Результат.Пустой(); КонецФункции |
|||
146
vova1122
31.07.19
✎
15:59
|
Убери 26 число в настройках. Во первых рег задание будет запускаться только 26-го числа, А во вторых ты в самом коде определил даты когда запускать
|
|||
147
Айрат_116
31.07.19
✎
16:02
|
(146) Хорошо. Поставил просто что "Каждый день"
|
|||
148
vova1122
31.07.19
✎
16:07
|
+ Ну и время и один раз в день оставь
|
|||
149
Айрат_116
31.07.19
✎
16:09
|
(148) Выполнять: каждый день; с 23:00:00 один раз в день
Вот так поставил |
|||
150
Айрат_116
31.07.19
✎
16:38
|
(148) Можно еще такой вопрос на всякий случай. Общий модуль. Такие же должны быть галочки?https://wampi.ru/image/62868BY (В книге прочитал что так должно быть)
|
|||
151
vova1122
31.07.19
✎
16:48
|
(150) У меня "Обычное приложение" не отмечено, а "Привелигирований" -Отмечено. Хотя может более опытные посоветуют. Так как я с 1С8 только пол года, и много еще чего незнаю
|
|||
152
Айрат_116
31.07.19
✎
16:52
|
(151) Ок. Спасибо за помощь)
|
|||
153
Айрат_116
16.08.19
✎
11:16
|
Здравствуйте. Не работает Регл Задание=(
ПараметрыОтчета = Новый Структура; ПараметрыОтчета.Вставить("ИДФормы", СтатФорма); ---- Не определена пишет. ПараметрыОтчета.Вставить("Организация", Организация); ПараметрыОтчета.Вставить("НачалоПериода", НачалоМесяца(ТекущаяДата())); ПараметрыОтчета.Вставить("КонецПериода", КонецМесяца(ТекущаяДата())); РегистрыСведений.тн_СтатистическаяОтчетностьДляSAP.ПерезаполнитьОтчетность(ПараметрыОтчета); КодФормы = РегистрыСведений.тн_СтатистическаяОтчетностьДляSAP.ПолучитьКодФормыПоИДФормы(СтатФорма); Вот это условие не срабатывает. Если ЗначениеЗаполнено(КодФормы) Тогда тн_ОбменSAP.ПередатьВSAP(КодФормы, НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата())); КонецЕсли; |
|||
154
hhhh
16.08.19
✎
11:22
|
(153) так оно же у тебя 26-го срабатывает. а 26-е еще не наступило. Жди.
|
|||
155
Айрат_116
16.08.19
✎
11:26
|
(154) Я в обработку закинул ее. Чтоб посмотреть отладкой. И когда я вычесляю СтатФорма там не не определенно.
И тут она пишет ЗначениеЗаполнено(КодФормы) Значение Ложь |
|||
156
Айрат_116
16.08.19
✎
11:27
|
(154) Зарание же можно ее сразу отладить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |