Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
murena
1 / 1 / 1
Регистрация: 12.04.2012
Сообщений: 49
1

Работа с датами в СКД

16.08.2019, 10:53. Просмотров 872. Ответов 8

задача поставлена как вывести интервал между продажами опираясь на номенклатуру
если номенклатура продавалась 10 числа N месяца, а потом 20, в поле Интервал вывести 10 дней
если продается номенклатура впервые, вывести "Разовая"

в отчете через СКД использую след. данные
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ВЫБРАТЬ
    РасходнаяНакладнаяТовары.Номенклатура КАК Номенклатура,
    РасходнаяНакладнаяТовары.КоличествоПродажи КАК КоличествоПродажи,
    РасходнаяНакладнаяТовары.СуммаПродажи КАК Продажа,
    РасходнаяНакладнаяТовары.СуммаПродажи - ПриходнаяНакладнаяТовары.СуммаПокупки / ПриходнаяНакладнаяТовары.КоличествоПокупки * РасходнаяНакладнаяТовары.КоличествоПродажи КАК Прибыль,
    ПриходнаяНакладнаяТовары.СуммаПокупки / ПриходнаяНакладнаяТовары.КоличествоПокупки КАК Себестоимость,
    РасходнаяНакладнаяТовары.Ссылка.Дата КАК Дата,
    РАЗНОСТЬДАТ(РасходнаяНакладнаяТовары.Ссылка.Дата, ДАТАВРЕМЯ(2019, 8, 16), ДЕНЬ) КАК Срок
ИЗ
    Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КонтрольПродаж КАК КонтрольПродаж
        ПО РасходнаяНакладнаяТовары.Номенклатура = КонтрольПродаж.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
        ПО РасходнаяНакладнаяТовары.Номенклатура = ПриходнаяНакладнаяТовары.Номенклатура
ГДЕ
    РасходнаяНакладнаяТовары.Ссылка.Проведен = ИСТИНА
Поэксперементировал с "РазностьДат" но увы не знаю как описать текущий период, и как завязать дату на конкретную номенклатуру
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2019, 10:53
Ответы с готовыми решениями:

Работа с вычисляемыми полями СКД
ОбротныйРегистр (Периодичность Неделя) соединяем со справочником. из регистра поле Количество...

Работа с датами в 1с
Есть такой запрос как мне найти товары проданные в начале и конце месяца,я знаю что есть методы...

Работа с датами в запросе (1С 8.1)
Здравствуйте, дамы и господа ! Я сам программист (Delphi, VB) со стажем, но за 1С сел впервые. В...

Разница между СКД и консолью СКД
Доброго дня! Есть запрос в СКД следующего вида: ВЫБРАТЬ ПродажиОбороты.Контрагент,...

Работа с датами?
Добрый день! Мне по работе нужна помощь. Есть таблица с сотрудниками, где хранятся данные о дате...

8
Yulunga
429 / 315 / 78
Регистрация: 22.04.2013
Сообщений: 1,974
Записей в блоге: 1
Завершенные тесты: 1
16.08.2019, 12:10 2
а точно надо данные брать из документа?
1
murena
1 / 1 / 1
Регистрация: 12.04.2012
Сообщений: 49
16.08.2019, 13:40  [ТС] 3
В данном случае это исключительно мои мысли, так как набор знаний очень скудный, только начинаю осваивать.
А так документ Реализация является регистратором и Регистра накопления (остатки так и оборотов)
У Вас есть мысль как это можно реализовать? С удовольствием ознакомлюсь
0
Yulunga
429 / 315 / 78
Регистрация: 22.04.2013
Сообщений: 1,974
Записей в блоге: 1
Завершенные тесты: 1
16.08.2019, 14:50 4
регистры созданы для того, чтобы из брать данные из них, а не перебирать невообразимое количество документов. так что занимайтесь магией с регистрами
как сделать - не знаю (
0
16.08.2019, 14:50
murena
1 / 1 / 1
Регистрация: 12.04.2012
Сообщений: 49
16.08.2019, 16:26  [ТС] 5
Да вот пытаюсь, упростил запрос до
1C
1
2
3
4
5
6
7
8
9
10
ВЫБРАТЬ
    РасходнаяНакладнаяТовары.Номенклатура КАК Номенклатура,
    РасходнаяНакладная.Ссылка КАК Ссылка,
    РасходнаяНакладная.Дата КАК Дата
ИЗ
    Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная КАК РасходнаяНакладная
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КонтрольПродаж КАК КонтрольПродаж
            ПО РасходнаяНакладная.Товары.Номенклатура = КонтрольПродаж.Номенклатура
        ПО РасходнаяНакладнаяТовары.Ссылка = РасходнаяНакладная.Ссылка
Тем самым получаю данные
НоменклатураСсылкаДата
Куртка замшеваяРасходная накладная 000000001 от 07.08.2019 17:30:1607.08.2019 17:30:16
ПортсигарРасходная накладная 000000001 от 07.08.2019 17:30:1607.08.2019 17:30:16
ПортсигарРасходная накладная 000000002 от 15.08.2019 16:01:3615.08.2019 16:01:36

Получается вроде как дату документа я уже имею, вот только не знаю как определить интервал между датой 1 документа и 2 документа в днях)
Вроде как
1C
1
РАЗНИЦАДАТ (<Дата1><Дата2>, День)
должны использоваться , но пока не могу найти информацию "КАК"))
0
MonteKristo
65 / 62 / 19
Регистрация: 21.08.2015
Сообщений: 259
17.08.2019, 11:42 6
Это по-моему задача из сборника по спецу. Там во временной таблице нужно посчитать по номенклатуре количество различных регистраторов, если 1, то это "Разовая". Еще две таблицы, в них получить минимум и максимум дат отгрузки на указанные периоды. И в четвертой таблице все сложить и считать через РазностьДАТ.
1
murena
1 / 1 / 1
Регистрация: 12.04.2012
Сообщений: 49
18.08.2019, 17:52  [ТС] 7
Отличный совет, а не подскажете, как реализуется между этими временными таблицами связь?
0
MonteKristo
65 / 62 / 19
Регистрация: 21.08.2015
Сообщений: 259
Вчера, 06:19 8
Лучший ответ Сообщение было отмечено murena как решение

Решение

Соединениями, связь по номенклатуре.
Если собрались сдавать спеца, то очень рекомендую на сайт Чистова идти, он как раз для этого и создан. Там люди обсуждают решения задач из сборника и выкладывают свои решения, чтобы им тыкнули носом, что не так.
1
murena
1 / 1 / 1
Регистрация: 12.04.2012
Сообщений: 49
Вчера, 14:25  [ТС] 9
Благодарствую =)
0
Вчера, 14:25
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
Вчера, 14:25

Работа в 1С с датами
Ребят,мне необходимо сформировать список задолжников в 1С предприятии,для этого нужно вычислить...

Работа с датами
Доброе время суток! Нужен запрос на SQL Известен месяц и год (например сентябрь 2016). И...

Работа с датами
Привет друзья! Пару лет назад (только начинал осваивать ACCESS) в одной базе нужно было...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru