|   |   | 
| 
 | Не умею создавать регламентное задание, помогите. | ☑ | ||
|---|---|---|---|---|
| 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) Зарание же можно ее сразу отладить     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |