Никак не соображу.
Задача (в упрощенном виде): есть табличка с двумя полями - дата и числовое поле, в котором хранится количество дней (рабочих).
Есть также таблица производственного календаря, в которой хранится информация, какие дни - рабочие.
Нужно получить результирующую таблицу, в которой к исходной таблице добавлено поле с датой, отстоящей от исходной даты на указанное в соседнем поле количество рабочих дней.
В Transact SQL такое получить легко, т.к. там можно в поле получать результат подзапроса. А в 1С только монстры какие-то в голову лезут.
Подскажите самый простой вариант, а то я уже в ступоре.
---
Вот здесь способ есть http://catalog1c.ru/public/358927/
Сам его использовал
---
Т.е. типа такого надо:

Вход:
10.05.2018 | 3
12.05.2018 | 1

Выход:
10.05.2018 | 3 | 15.05.2018
12.05.2018 | 1 | 14.05.2018
---
Так вроде ж просто.

```1c
    ВЫБРАТЬ
    ДАТАВРЕМЯ(2018, 1, 1) КАК Дата,
    5 КАК смещение
    ПОМЕСТИТЬ ИсхДанные
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ИсхДанные.Дата КАК Дата,
    ИсхДанные.смещение КАК смещение,
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
    ИЗ
    ИсхДанные КАК ИсхДанные
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
    ПО (РАЗНОСТЬДАТ(ИсхДанные.Дата, РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ) = ИсхДанные.смещение)
```
---
Смещение указывается в рабочих днях. А РАЗНОСТЬДАТ дает календарную разницу.
---
Тогда вот так

```1c
    ВЫБРАТЬ
    ДАТАВРЕМЯ(2018, 1, 1) КАК Дата,
    9 КАК смещение
    ПОМЕСТИТЬ ИсхДанные
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря,
    КОЛИЧЕСТВО(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК НомерРабочегоДня
    ПОМЕСТИТЬ РабДни
    ИЗ
    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь1
    ПО РегламентированныйПроизводственныйКалендарь.ДатаКалендаря > РегламентированныйПроизводственныйКалендарь1.ДатаКалендаря
    И (РегламентированныйПроизводственныйКалендарь1.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий))

    СГРУППИРОВАТЬ ПО
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ИсхДанные.Дата КАК Дата,
    ИсхДанные.смещение КАК смещение,
    РабДни.НомерРабочегоДня КАК НомерРабочегоДня,
    РабДни.ДатаКалендаря КАК ДатаКалендаря
    ПОМЕСТИТЬ вт
    ИЗ
    ИсхДанные КАК ИсхДанные
    ЛЕВОЕ СОЕДИНЕНИЕ РабДни КАК РабДни
    ПО ИсхДанные.Дата = РабДни.ДатаКалендаря
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    вт.Дата КАК Дата1,
    вт.смещение КАК смещение,
    МИНИМУМ(РабДни.ДатаКалендаря) КАК Дата2
    ИЗ
    вт КАК вт
    ЛЕВОЕ СОЕДИНЕНИЕ РабДни КАК РабДни
    ПО (вт.смещение + вт.НомерРабочегоДня = РабДни.НомерРабочегоДня)

    СГРУППИРОВАТЬ ПО
    вт.Дата,
    вт.смещение
```
---
Вот здесь способ есть http://catalog1c.ru/public/358927/
Сам его использовал
---
Спасибо. Но как раз такого я и хотел бы избежать :)
Может, все-таки найдется более элегантный способ...
---
а чем этот способ плох?
---
О! По ссылке нашел еще несколько ссылок на подобные темы, что-то да слеплю. Хотя не, остальные темы не совсем про то.
ЗЫ. Да не хотел просто еще несколько этапов расчетов добавлять в уже развесистый отчет. Обидно, что при возможности получить в поле результат подзапроса задача фактически в одну строку решается. Но в языке запросов 1С это почему-то не поддерживается :(
---
Всем спасибо. Подтолкнули мыслительный процесс :)
У меня уже рассчитывался показатель количества рабочих дней от календарной даты до даты отчета для других целей.
Удалось выкрутиться через него фактически не добавляя отдельные этапы к уже существующим (специфика моего отчета).
---
другая цель запроса, но запрос можно переделать под твою задачу

```1c
    ВЫБРАТЬ
    ДанныеПроизводственногоКалендаря.Дата КАК Дата,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДанныеПроизводственногоКалендаря1.Дата) КАК Дата1
    ИЗ
    РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря1
    ПО (ДанныеПроизводственногоКалендаря1.ВидДня = &РабДень
    И ДанныеПроизводственногоКалендаря1.Дата >= &ДатаНач
    И ДанныеПроизводственногоКалендаря.Дата > ДанныеПроизводственногоКалендаря1.Дата)
    ГДЕ
    ДанныеПроизводственногоКалендаря.Дата >= &ДатаНач
    И ДанныеПроизводственногоКалендаря.ВидДня = &РабДень

    СГРУППИРОВАТЬ ПО
    ДанныеПроизводственногоКалендаря.Дата

    ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДанныеПроизводственногоКалендаря1.Дата) = &КоличествоРабДней

    УПОРЯДОЧИТЬ ПО
    Дата
```
---
```1c
    ВЫБРАТЬ 1
```

Цель запроса другая, но можно переделать под свою задачу :)
Извини, не удержался.
Но этот запрос может в лучшем случае выступать лишь одним из этапов решения сабжевой задачи. Никак не "переделать".
Хотя в своем отчете практически таким же запросом я и получал количество рабочих дней до даты отчета (для других целей) и потом с использованием этих данных удалось решить и сабж (вместо индексирования рабочих дней, на котором построено большинство предложенных решений выше).
---
поделишься решением?
а по запросу, просто недавно мелькала задача про количество раб.дней, вот и вставил запрос, думал может помочь в решении твоей задачи.
---
поделишься решением?
Проблема в том, что мое "решение" - это лишь вкрапление в сложный отчет расчета просроченной задолженности. В этом и была моя основная боль - вписать минимумом затрат в сложный запрос.
Если его "рафинизировать" до сабжевого вопроса, то скорее всего оно окажется сложнее вышеприведенных. Ну, тот же расчет рабочих дней от указанной даты (параметром) для сабжа вообще не нужен, к примеру. А мне он уже нужен был и так, поэтому на него и завязался.
Если уж выкладывать, то расчет просроченной задолженности целиком, но тут речь была не об этом.