Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
22 Май 2018, 09:25
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Определить дату окончанию по производственному календарю  (Прочитано 2736 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Здравствуйте.
Практически в любой типовой есть РС производственный календарь. Условие задачи: есть дата начала и количество дней (число), нужно определить дату окончания. НО! (как всегда есть "но"), дата начала + кол-во дней считать нельзя - на этот период может выпадать праздник и тогда этот день в подсчете не должен учавствовать. Что-то никак не соображу как это в запрос можно реализовать.
Спасибо.


Оффлайн LexaK

  • *****
  • Сообщений: 1295
  • РЕПУТАЦИЯ: 356
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
запускаете перебор даты от нужной даты + 1 день,
для каждой даты получаете номер дня недели 1,2,3... определяете выходные дни (6,7) - пропускаете,
например в ЗУПе еще есть РС.ПеренесенныеРабочиеДни
Измерения: Год, РабочийДень, ВыходнойДень
проверяете дату там, если день рабочий то считаете, если выходной пропускаете.

Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
:) Как перебором это все достать - не вопрос. Весь цинус заключается как в запросе получить на выходе одно поле с датой окончания.

Оффлайн LexaK

  • *****
  • Сообщений: 1295
  • РЕПУТАЦИЯ: 356
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
а если использовать регистр Производственный календарь, там вообще все просто.
сначала надо определить какую рабочую неделю будем считать, там есть пятидневка и шестидневка, берем пятидневку, в этом поле по рабочим дням (с учетом праздников и переносов) стоят 1,
поэтому что бы определить конечную дату от заданной, на указанное количество рабочих дней, просто надо просуммировать эти единички, нарастающим итогом и поставить по условию на равенство суммы заданному количеству дней.
Вроде все подсказки указал.

Сможете сами построить запрос?

В который, в виде параметров передаете начальную дату и количество дней, а в результате получите запись с датой окончания рабочего периода.

если не получится напишите, выложу готовое решение, в принципе, его анализ тоже сможет вам что=то дать.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Если не сложно, выложите запрос. На словах то я это понимаю, а вот реализовать - как Муму, все понимаю, но сказать не могу.

Оффлайн LexaK

  • *****
  • Сообщений: 1295
  • РЕПУТАЦИЯ: 356
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
при параметрах
Дата = 01.05.2015
Дней = 5
возвращает результат - 12.05.2015

запрос может вернуть несколько строчек, но нас интересует первая - где рабочая дата, следующие могут быть выходными днями
ВЫБРАТЬ
Рег.ДатаКалендаря,
Сумма(Рег1.Пятидневка) как Количество
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Рег
левое соединение
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Рег1
по Рег.Год = Рег1.Год
и Рег.ДатаКалендаря >= Рег1.ДатаКалендаря
и Рег1.ДатаКалендаря >= &Дата
ГДЕ
Рег.Год = Год(&Дата)
и Рег.ДатаКалендаря >= &Дата
сгруппировать по
Рег.ДатаКалендаря
имеющие
Сумма(Рег1.Пятидневка) = &Дней
УПОРЯДОЧИТЬ ПО
Рег.ДатаКалендаря
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Спасибо. То что нужно. теперь хоть начал понимать смысл "имеющие".


Теги:
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 10961
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Доходы от реализации продукции с длительным циклом производства учитываются на дату реализации

Автор newsРаздел Новости

Ответов: 0
Просмотров: 660
Последний ответ 16 Мар 2016, 20:30
от news
Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4677
Последний ответ 24 Дек 2015, 15:34
от дфтын
Амортизационная премия во время модернизации основного средства признается на дату окончания работ

Автор newsРаздел Новости

Ответов: 0
Просмотров: 886
Последний ответ 31 Окт 2014, 11:59
от news
Расходы на юридические и консультационные услуги учитываются на дату последнего числа отчетного периода

Автор newsРаздел Новости

Ответов: 0
Просмотров: 951
Последний ответ 22 Дек 2014, 11:58
от news

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
147 Сообщений
oleg-x
66 Сообщений
alex0402
64 Сообщений
AIFrame AIFrame
52 Сообщений
wise wise
37 Сообщений
KOI8-R
34 Сообщений
buketov.av buketov.av
34 Сообщений
Alter
26 Сообщений
BuhRust
21 Сообщений
trialex3
20 Сообщений

* Кто онлайн

  • Точка Гостей: 650
  • Точка Скрытых: 0
  • Точка Пользователей: 14
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal