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

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

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

Оффлайн vitasw

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


Оффлайн LexaK

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

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

Оффлайн vitasw

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

Оффлайн LexaK

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

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

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

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

Оффлайн vitasw

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

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 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
Просмотров: 9361
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Доходы от реализации продукции с длительным циклом производства учитываются на дату реализации

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
47 Сообщений
oleg-x
44 Сообщений
andron81_81
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal