|
Регистры сведений | ☑ | ||
---|---|---|---|---|
0
Nub666
naïve
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
naïve
07.05.24
✎
17:45
|
Я хочу в зависимости от даты проведения подстраивалась цена, а она зависит от текущего дня https://disk.yandex.ru/i/fd10lm-IoDK7iw
|
|||
6
Aleksey
07.05.24
✎
17:48
|
Зачем нужны ДатаНачалаДействияЦены и ДатаОкончанияДействияЦены? Чтобы получить гемор на ровном месте?
|
|||
7
Nub666
naïve
07.05.24
✎
17:48
|
(1) Знаю
(2) Без понятия. Мне ии никак не решает проблему с 1С |
|||
8
Nub666
naïve
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
naïve
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/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |