Здравствуйте!
как можно сделать следующее, пусть есть заказ покупателя со статусом Новый и Выполнен, в нем есть номенклатура.
Надо посчитать, сколько раз за выбранный период заказывали номенклатуру.
Нулевое - единожды вообще в базе. Один раз - один раз за выбранный период. Много - более одного раза за выбранный период. Ну и по статусам раскидать.
Конфа самописная.
Зачем надо лучше не спрашивать.
как можно сделать следующее, пусть есть заказ покупателя со статусом Новый и Выполнен, в нем есть номенклатура.
Надо посчитать, сколько раз за выбранный период заказывали номенклатуру.
Нулевое - единожды вообще в базе. Один раз - один раз за выбранный период. Много - более одного раза за выбранный период. Ну и по статусам раскидать.
Конфа самописная.
Зачем надо лучше не спрашивать.
По теме из базы знаний
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Алгоритмы с решениями для экзамена Специалист УТ 11.1
- Сквозной пример задачи оперативного учета (ОУ) при подготовке к экзамену "1С:Специалист" по платформе
- Примеры использования функций СКД Массив (Array) и СоединитьСтроки (JoinStrings) в отчётах 1С 8
- Пример решения задачи по оперативному учету для экзамена (1С: Специалист по платформе 8.3)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Пишешь запрос в котором находишь количество номенклатуры, которая содержится за этот период. Потом в СКД создаешь вычисляемое поле, где в зависимости от условий в него выводишь нужное значение(0,1 или много)
Пример:
Вот вы получили из запроса за январь такие строки
1) Номенклатура 1 - 7 раз
2) Номенклатура 2 - 1 раз
3) Номенклатура 3 - 2 раза
В вычисляемом поле в строке с номенклатурой 1 будет значение "Много"
В вычисляемом поле в строке с номенклатурой 2 будет значение "Один раз"
В вычисляемом поле в строке с номенклатурой 3 будет значение "Много"
Вот вы получили из запроса за январь такие строки
1) Номенклатура 1 - 7 раз
2) Номенклатура 2 - 1 раз
3) Номенклатура 3 - 2 раза
В вычисляемом поле в строке с номенклатурой 1 будет значение "Много"
В вычисляемом поле в строке с номенклатурой 2 будет значение "Один раз"
В вычисляемом поле в строке с номенклатурой 3 будет значение "Много"
(6)
нет)
ни как не разберусь
Значит у меня регистр сведений
если заказ выполнен, то документвыполенения (2разных значения) заполнен
РСЗаказы = никакущий, непериодический и независимый
Еще есть ДатаВыполнения в регистре.
Как посчитать, если дата выполнения единожды по клиенту, то нулевой, если дат выполнения одна за период ( на форме выбирать) то первичный, если дата выполнения дважды,3-4-5 и тд то повторный в периоде. Период - год календарный.
нет)
ни как не разберусь
Значит у меня регистр сведений
ВЫБРАТЬ
ВЫБОР
КОГДА НЕ РСЗаказы.ДокументВыполнения = НЕОПРЕДЕЛЕНО
ТОГДА РСЗаказы.Клиент
КОНЕЦ КАК Клиент,
СУММА(ВЫБОР
КОГДА НЕ РСЗаказы.ДокументВыполнения = НЕОПРЕДЕЛЕНО
ТОГДА 1
КОНЕЦ) КАК Поле1
ИЗ
РегистрСведений.Заказы КАК РСЗаказы
Показатьесли заказ выполнен, то документвыполенения (2разных значения) заполнен
РСЗаказы = никакущий, непериодический и независимый
Еще есть ДатаВыполнения в регистре.
Как посчитать, если дата выполнения единожды по клиенту, то нулевой, если дат выполнения одна за период ( на форме выбирать) то первичный, если дата выполнения дважды,3-4-5 и тд то повторный в периоде. Период - год календарный.
ВЫБРАТЬ
Заказы.Номенклатура,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР КОГДА Заказы.ДокументВыполнения <> НЕОПРЕДЕЛЕНО ТОГДА Заказы.ДокументВыполнения ИНАЧЕ NULL КОНЕЦ) КАК КвоЗаказов
.........
СГРУППИРОВАТЬ ПО Заказы.Номенклатура
(8)
отлично,
но во первых, есть "пустые" клиенты, когда документа выполнения нет
во вторых, а как посчитать, сколько раз клиент в документах выполнения.
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР КОГДА Заказы.ДокументВыполнения <> НЕОПРЕДЕЛЕНО ТОГДА Заказы.ДокументВыполнения ИНАЧЕ NULL КОНЕЦ) КАК КвоЗаказов
отлично,
но во первых, есть "пустые" клиенты, когда документа выполнения нет
во вторых, а как посчитать, сколько раз клиент в документах выполнения.
Ежели в СКД, то формула ресурса такая и будет, а нужное представление через формулу представления сделать.
Добрый день! А опишите что там в регистре Заказы у вас? И еще вот это поясните:
Что-то типа
если дата выполнения единожды по клиенту, то нулевой, если дат выполнения одна за период ( на форме выбирать) то первичный
- не понятно, что значит единожды и одна за период (не одно и то же?). Тут поможет функция в запросе Количество(Различные ДатаВыполнения)
Выбор когда Количество(Различные ДатаВыполнения) = 0 Тогда "Нулевой"
Когда Количество(Различные ДатаВыполнения) = 1 Тогда "Первичный"
Иначе "Вотричный" Конец
(11)
нулевой - разово вообще в жизни базы,
первичный - один раз за выбранный на форме период,
вторичный - более одного раза за выбранный на форме период.
что в рег.сведений Заказы - непериодический, независимый
Измерения - уник.идентификаторЗаказа
Реквизиты - До-тВыполнения, Клиент, Датавыполнения ну и остальное, вообще к задаче неимеющее отношения.
Выбор когда Количество(Различные ДатаВыполнения) = 0 Тогда "Нулевой"
Когда Количество(Различные ДатаВыполнения) = 1 Тогда "Первичный"
Иначе "Вотричный" Конец
Когда Количество(Различные ДатаВыполнения) = 1 Тогда "Первичный"
Иначе "Вотричный" Конец
нулевой - разово вообще в жизни базы,
первичный - один раз за выбранный на форме период,
вторичный - более одного раза за выбранный на форме период.
что в рег.сведений Заказы - непериодический, независимый
Измерения - уник.идентификаторЗаказа
Реквизиты - До-тВыполнения, Клиент, Датавыполнения ну и остальное, вообще к задаче неимеющее отношения.
(13)
Ну, собственно, то что и написал поможет. Можно, да наверно и лучше, сделать вот как:
Этот запрос поможет посчитать сколько раз заказывали номенклатуру в определенном заказе.
Думаю дальше сами поймете как прикрутить сюда статусы, клиентов и прочую инфо
нулевой - разово вообще в жизни базы,
первичный - один раз за выбранный на форме период,
вторичный - более одного раза за выбранный на форме период.
первичный - один раз за выбранный на форме период,
вторичный - более одного раза за выбранный на форме период.
Ну, собственно, то что и написал поможет. Можно, да наверно и лучше, сделать вот как:
ВЫБРАТЬ
тчТовары.Номенклатура,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Заказы.ДатаВыполнения) КАК ДатаВыполнения,
ИЗ
Документ.ЗаказКлиента.Товары КАК тчТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Заказы КАК Заказы
ПО тчТовары.Номенклатура = Заказы.Номенклатура
СГРУППИРОВАТЬ ПО
тчТовары.Номенклатура
ГДЕ
тчТовары.Ссылка = &Ссылка
ПоказатьЭтот запрос поможет посчитать сколько раз заказывали номенклатуру в определенном заказе.
Думаю дальше сами поймете как прикрутить сюда статусы, клиентов и прочую инфо
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот