Имя: Пароль:
1C
 
Не умею создавать регламентное задание, помогите.
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) Зарание же можно ее сразу отладить