|
|
|
Регистры сведений | ☑ | ||
|---|---|---|---|---|
|
0
Nub666
07.05.24
✎
17:29
|
Добрый день. Я новичок в 1Си буду рад, если поделитесь литературой. Перейдем к сути проблемы
И так, у меня есть "ЦенаНаТоварыВМагазинах". В нем есть: 1. Измерения: - Адрес. Ссылается на справочник "Адреса" - Товар. Ссылается на справочник "Товары" 2. Ресурсы: - Цена. Числовой - ДатаНачалаДействияЦены. Дата - ДатаОкончанияДействияЦены. Дата Вопрос: Как мне в зависимости от даты проведения документа подтягивать цены? Один из запросов на подтягивание цены: &НаКлиенте
Процедура ТабличнаяЧасть1ТоварПриИзменении(Элемент)
// Получаем текущий адрес из документа
ТекущийАдрес = ЭтаФорма.Объект.Адрес;
// Получаем текущий товар из табличной части
Товар = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Товар;
// Получаем текущую дату из объекта
Дата = Объект.Дата;
// Вызываем функцию для получения цены
Информация = Тралала(Товар, Дата, ТекущийАдрес);
// Устанавливаем цену для текущей строки табличной части
ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Цена = Информация.Цена;
// Устанавливаем Сумму для текущей строки табличной части
ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Итог = Информация.Цена * ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Количество;
// Выводим цену в сообщении (для проверки)
Сообщить(Информация.Цена);
КонецПроцедуры
&НаСервереБезКонтекста
Функция Тралала(Товар, Дата, Адрес)
Результат = Новый Структура("Цена", 0);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Цены.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНаТоварыВМагазинах.СрезПоследних(&Дата, Товар = &Товар И Адрес = &Адрес) КАК Цены";
Запрос.УстановитьПараметр("Адрес", Адрес);
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Товар", Товар);
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
Результат.Цена = Выборка.Цена;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции |
|||
|
1
Волшебник
07.05.24
✎
17:28
|
Тралала - плохое название функции
|
|||
|
2
mikecool
07.05.24
✎
17:28
|
когда же ИИ уже научится?
|
|||
|
3
mikecool
07.05.24
✎
17:29
|
+2 искать информацию в интернете
|
|||
|
4
ЖНЕЦ
07.05.24
✎
17:30
|
Как мне в зависимости от даты проведения документа подтягивать цены? - куда и зачем?
что ты хочешь в итоге сделать? у тебя жесть замечательная Тралала (один из параметров дата) провели документ Установка хитрых цен Адрес, Товар, 07.05.2024 16:56:00 - 450 руб. вот эта цена и будет на эту дату |
|||
|
5
Nub666
07.05.24
✎
17:45
|
Я хочу в зависимости от даты проведения подстраивалась цена, а она зависит от текущего дня https://disk.yandex.ru/i/fd10lm-IoDK7iw
|
|||
|
6
Aleksey
07.05.24
✎
17:48
|
Зачем нужны ДатаНачалаДействияЦены и ДатаОкончанияДействияЦены? Чтобы получить гемор на ровном месте?
|
|||
|
7
Nub666
07.05.24
✎
17:48
|
(1) Знаю
(2) Без понятия. Мне ии никак не решает проблему с 1С |
|||
|
8
Nub666
07.05.24
✎
17:49
|
(6) А как ты предлагаешь?
|
|||
|
9
Aleksey
07.05.24
✎
17:50
|
а что будет если эти даты пересекаются?
магазин 1 товар 1 цена 100 рублей дата начала 01.05.24 дата окончания 10.05.24 Магазин 1 товар 1 цена 200 рублей дата начала 02.05.24 дата окончания 08.05.24 Если мы проводим документ текущей датой, то какая цена будет и почему? |
|||
|
10
Aleksey
07.05.24
✎
17:52
|
(8) забыть о них как страшный сон
сделать периодическим, подчинённым регистратору. и тогда срез последних вернет тебе цену актуальную на конкретную дату |
|||
|
11
Aleksey
07.05.24
✎
17:57
|
У тебя регистр не периодический, т.е. бесполезно передавать ему период и использовать срез последних
|
|||
|
12
Nub666
07.05.24
✎
17:59
|
(11) Как быть? Что нужно сделать? Хочу, чтобы цена подтягивалась в диапазоне выбранных дат
|
|||
|
13
Aleksey
07.05.24
✎
19:18
|
(9) Не делать так как ты делаешь
А если именно с таким регистром то нужен отбор не по периоду а руками через отбор искать во всем регистре, что очень долго Ведь никто не может исключить что кто то 1 января установит период действия декабрь следующего года (потому что пьяный был), поэтому нужно отбирать те записи где дата документа в диапозоне с ДатаНачалаДействияЦены по ДатаОкончанияДействияЦены. Что в любом случае не снимает проблему в (9), когда в заданном диапозоне может быть 25 уникальных цен P.s. это мы еще не рассматриваем ситуацию когда дата начала и дата окончания не указана |
|||
|
14
Aleksey
07.05.24
✎
19:20
|
ТАк что тебе решать что сделать. я бы начал бы с нуля, с проектирования регистра. Не исключено что нужно будет добавить еще виды цен (акция, распродажа)
|
|||
|
15
AlexeyKh
08.05.24
✎
10:50
|
(12) не знаешь как делать?
Открывай любую типовую базу, смотри, как там, это, УЖЕ ДАВНО сделано!!! |
|||
|
16
Волшебник
08.05.24
✎
10:55
|
(15) Послал так послал...
|
|||
|
17
Garykom
гуру
08.05.24
✎
11:07
|
(0) 1. Даты перенеси в измерения
2. Или убрать даты и сделать РС периодическим, но будет сложней с ним работать, хотя экономия места |
|||
|
18
Волшебник
08.05.24
✎
11:08
|
(0) Справочник "Адреса" — плохое название для справочника.
Правильнее "Магазины". |
|||
|
19
Garykom
гуру
08.05.24
✎
11:09
|
(18) Может лучше Склады?
|
|||
|
20
Волшебник
08.05.24
✎
11:17
|
(19) цена на складе? не... У него регистр ЦенаНаТоварыВМагазинах
|
|||
|
21
DJ Anthon
08.05.24
✎
11:17
|
(16) заметил такую тенденцию ))
нулевые - делаю такую вот задачу, вылазит ошибка, не могу понять десятые - расскажите, как сделать такую задачу двадцатые - сделайте за меня работу плиз |
|||
|
22
Волшебник
08.05.24
✎
11:19
|
(21) Скоро будут тупо промты отправлять:
УТ. Заказ. Добавить скидки. Гипердетализация. Фотореалистично. Красивый программный код. |
|||
|
23
Garykom
гуру
08.05.24
✎
11:25
|
(22) И в ответ получать дикпик ))
|
|||
|
24
mmg
08.05.24
✎
11:36
|
(23) Если бы...
Будут получать скидки. Представь, у кого-то есть какая-то учетная система. Там есть документы Заказ. Но в этих документах нет скидок. Человек говорит: "Мне нужны скидки в заказах". А ему в ответ: "Сделано. Пользуйся" |
|||
|
25
Волшебник
08.05.24
✎
11:40
|
(24)+ С Вас 10 биткоинов.
|
|||
|
26
maxab72
08.05.24
✎
11:50
|
2(21)
девяностые - есть задача, решил так, а можно сделать красивее, проще и короче? |
|||
|
27
maxab72
08.05.24
✎
11:52
|
(25) и эти 10 бк ИИ потратит на наём собственного сисадмина, лояльного к именно этому ИИ...
|
|||
|
28
Волшебник
08.05.24
✎
11:55
|
(27) Купит себе новую железяку https://habr.com/ru/news/810523/
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |