|
Помогите с запросом 🙏 🠗 (Волшебник 26.12.2024 23:17) | ☑ | ||
---|---|---|---|---|
0
windsadsfe
naïve
26.12.24
✎
21:40
|
Всем добра!
Есть справочники: Транспортные средства и Водители, из документов - Накладная, в которой в качестве реквизитов используются водитель, машина и дата доставки. По заданию нужно сделать так, чтобы водитель мог быть закреплен только за одним транспортным средством в течение одного дня. Я создал регистр сведений ПроверкаТС с измерениями - Водитель и ТС, ресурс - Дата. В обработке проведения документа Накладная использую следующий код: // регистр ПроверкаТС Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПроверкаТС.Водитель КАК Водитель, | ПроверкаТС.Дата КАК Дата, | ПроверкаТС.ТранспортноеСредство КАК ТранспортноеСредство |ИЗ | РегистрСведений.ПроверкаТС КАК ПроверкаТС |ГДЕ | ПроверкаТС.Водитель = &Водитель | И ПроверкаТС.Дата = &Дата"; Запрос.УстановитьПараметр("Водитель", Водитель); Запрос.УстановитьПараметр("Дата", ТекущаяДата()); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Если Выборка.Количество() > 0 Тогда Сообщить("Водитель уже закреплен за другой машиной на сегодня!"); Возврат; // предотвратить запись Иначе Движения.ПроверкаТС.Записывать = Истина; Движение = Движения.ПроверкаТС.Добавить(); Движение.Период = Дата; Движение.Водитель = Водитель; Движение.ТранспортноеСредство = Машина; Движение.Дата = Дата; КонецЕсли; но, как понимаю, код с проверкой не работает, поскольку возникает ошибка: Запись с такими ключевыми полями существует! : ПроверкаТС: 26.12.2024, Петров Иван Сергеевич, МАЗ (Регистр сведений: Проверка ТС; Номер строки: 2) [ОшибкаХранимыхДанных] Как можно это исправить? Помогите, пожалуйста |
|||
1
Волшебник
26.12.24
✎
21:39
|
ёб вашу мать!
|
|||
2
Волшебник
26.12.24
✎
21:39
|
>> По заданию нужно сделать так,
Кто ставит эти задания? Какой гондон пишет вот это всё? |
|||
3
Волшебник
26.12.24
✎
21:43
|
(0) Ты создал регистр, блять! Ну так, блять, дальше работай!
"Блять...Блять...Блять..." — тихо отозвалось эхо... |
|||
4
Волшебник
26.12.24
✎
21:42
|
>> (0) Я создал регистр сведений ПроверкаТС
Как это можно выдерживать? Кто готов это держать вместо меня?! |
|||
5
windsadsfe
naïve
26.12.24
✎
21:43
|
Сижу над этим несколько часов и уже ничего не понимаю, к сожалению :_D
|
|||
6
windsadsfe
naïve
26.12.24
✎
21:44
|
Возможно, это можно реализовать намного легче, но додумался только до регистра
|
|||
7
Волшебник
26.12.24
✎
21:46
|
(5) Часов, сука... Мы тут годами сидим... Тоже нихуя не понимаем
|
|||
8
windsadsfe
naïve
26.12.24
✎
21:48
|
Верю, соболезную.. Хотелось бы найти решение, добить это и забыть как страшный сон..
|
|||
9
lEvGl
гуру
26.12.24
✎
21:50
|
(0) периодический, в пределах дня, регистр, измерения ТС, водитель. При назначении этих данных (где там это происходит) пишете с затиранием. Всегда на один день будет одна запись ТС- водитель, иначе записать не даст. все
зы. ну а если перекрепление водителя происходит, то от логикии надо идти. Кто знает, что вам там надо |
|||
10
Волшебник
26.12.24
✎
21:50
|
(8) "забыть как страшный сон" уже не получится. Или вы айтишник или говном по стене намазано...
|
|||
11
lEvGl
гуру
26.12.24
✎
21:51
|
что это ха хрень
Если Выборка.Количество() > 0 Тогда
а это Возврат; // предотвратить запись
где отказ |
|||
12
Волшебник
26.12.24
✎
21:52
|
(11) Вы очень строги к новичку. Он же только вкатился в айти. ВКАТУН, бля
"войти в айти", слышали выражение? |
|||
13
H A D G E H O G s
26.12.24
✎
21:53
|
Движение.Период = Дата;
заменить на Движение.Период = НачалоДня(Дата); и Запрос.УстановитьПараметр("Дата", ТекущаяДата()); на Запрос.УстановитьПараметр("Дата", НачалоДня(Дата)); Neurolinks lifes matter! |
|||
14
lEvGl
гуру
26.12.24
✎
21:53
|
(12) мне кажется он уже успел выйти ^_-
|
|||
15
Волшебник
04.01.25
✎
17:46
|
(13) "lives", произносится "лайвз"
|
|||
16
Волшебник
26.12.24
✎
21:55
|
(14) Ща зацепим... Ты подсекай
|
|||
17
windsadsfe
naïve
26.12.24
✎
21:53
|
(11) вот эта хрень и не работает, что и неудивительно. Отказ тоже не особо помогал
|
|||
18
Волшебник
26.12.24
✎
21:55
|
Смотрите, он уже перешёл на уровень выше. Только не спугните...
|
|||
19
lEvGl
гуру
26.12.24
✎
21:54
|
(17) отказ обычно и не помогает
(0) честно, откуда код? |
|||
20
windsadsfe
naïve
26.12.24
✎
21:58
|
(19) код - гибрид конструктора движений и конструктора запроса с обработкой, выстраданный
|
|||
21
lEvGl
гуру
26.12.24
✎
21:59
|
(16) можно попробовать :)
|
|||
22
windsadsfe
naïve
26.12.24
✎
22:00
|
Мне нужно, чтобы выводилось сообщение о том, что водитель закреплён за конкретной машиной в конкретный день (чтобы нельзя было навешать одного и того же человека на несколько машин), но я что-то делаю не так и не догоняю, как поправить имеющееся
|
|||
23
Смотрящий
26.12.24
✎
22:01
|
(7) Редкий случай когда с отбитым солидарен ...
|
|||
24
lEvGl
гуру
26.12.24
✎
22:03
|
(22) давайте логику сначала, код немного позже
если водителя закрепили за тс, то больше никто и никогда не может его переназначить? назначают где то в другом месте, а не в этом документе, чью ОбработкуПроведения мы видим? |
|||
25
windsadsfe
naïve
26.12.24
✎
22:02
|
(24) по идее может
|
|||
26
lEvGl
гуру
26.12.24
✎
22:04
|
(25) ок, назначение происходит "где то там", а этот документ - другое?
|
|||
27
windsadsfe
naïve
26.12.24
✎
22:06
|
В этом документе как раз и проставляется и дата, и водитель, и ТС, в нём поменять и можно так-то
|
|||
28
lEvGl
гуру
26.12.24
✎
22:06
|
да ладно, что в этом же документе и назначают?
|
|||
29
windsadsfe
naïve
26.12.24
✎
22:07
|
ну у меня да :_D
|
|||
30
Волшебник
26.12.24
✎
22:09
|
(23) 💖 Сердце тебе. Прости что не так...
|
|||
31
lEvGl
гуру
26.12.24
✎
22:17
|
(29) смысл в чем, чтобы перед переназначением предупредить, что он уже был закреплен за другим тс что ли или чтобы дать Отказ в переназначении?
в нём поменять и можно так-то
ну дак и меняйте. РС подчиенный если, то все перетрется профит ;) |
|||
32
windsadsfe
naïve
26.12.24
✎
22:18
|
(31), а то, и то возможно?
вообще: если создавать новый документ и в нем проставлять уже использованную дату и водителя, закрепленного за другим ТС, то должно вылезать предупреждение если делать переназначение (с нормальной даты на использованную/другого водителя на уже закрепленного), то должно выйти сообщение |
|||
33
lEvGl
гуру
26.12.24
✎
22:28
|
(32) "Запись с такими полями уже существует" это ж и есть предупреждение хы
в данном случае это не бага а фича платформа все сделала сама, ии ближе, чем кажется.. ну напишите к вашему запросу обработку вроде "Водитель в этот день занят", только в запрос еще ТС надо добавить и потом отказ истина. ПолУчите сначала ручное предупреждение, потом платформенное "Не удалось провести документ" зы. в целом все правильно, только надо тс учитывать и отказ давать |
|||
34
windsadsfe
naïve
26.12.24
✎
22:23
|
(33) но это вылетает окно ошибки, если я ввожу одно и то же ТС с одним и тем же человеком на одну и ту же дату, как я теперь понял
А вот если менять ТС, не меняя остальных, то документ проводится без предупреждений |
|||
35
lEvGl
гуру
26.12.24
✎
22:33
|
аа, вон че, ну ок
тогда без тс |
|||
36
lEvGl
гуру
26.12.24
✎
22:37
|
собственно тогда регистр должен быть без тс, тс - ресурс и тогда без ручных проверок
если уж пляска от водитела |
|||
37
windsadsfe
naïve
26.12.24
✎
22:41
|
то есть, по сути мне нужно поменять у регистра данные, добавить отказ = истина? но код, начиная с "если" и до иначе, все равно не работает
его тоже нужно поменять? |
|||
38
lEvGl
гуру
26.12.24
✎
22:44
|
какой код, поменяйте логику, то есть измените регистр, останется только водатель + родной период регистра
это даст однозначную запись дата + человек при попытке другим документом записать этого водителя на эту дату будет ошибка упрощаем, ии должен работать |
|||
39
windsadsfe
naïve
26.12.24
✎
22:47
|
(38) аааа, дошло теперь, спасибо вам большое, очень помогли!
|
|||
40
lEvGl
гуру
26.12.24
✎
22:53
|
(39) ну а какая разница за каким тс он закреплен, если надо только обозначить его занятость, для информации можно ресурс вывести
заходите |
|||
41
Волшебник
26.12.24
✎
22:55
|
(40) Так легко отпускаем?
|
|||
42
lEvGl
гуру
26.12.24
✎
22:57
|
(41) он улетел, но обещал.. (с)
)) |
|||
43
Волшебник
26.12.24
✎
23:05
|
(42) Нет, это методически неверно. Вы же не выяснили, что за конфа, какая структура регистра, кто он там и чем рулит.
Взяли и отпустили синицу из руки |
|||
44
Волшебник
26.12.24
✎
23:06
|
(42) По сути, Вы уничтожили потенциал.
Он же вчера родился. Пардон, сегодня! |
|||
45
lEvGl
гуру
26.12.24
✎
23:21
|
(44) определили логику, чем заняться там есть еще
Я думаю, что настоящая синица должна быть свободной, это и желание ничем не перебить. А покурлыкать с сородичами - милости просим) ну и другие варианты птиц есть конечно, но это не интересно, привязанные боты и так есть, этот придет по-другому, кмк. Журавлем. Мб, этого никто не знает, даже он |
|||
46
Волшебник
26.12.24
✎
23:15
|
(45) Синица свободна, она же птичка.
А вот Ваше "ни чем" я заменил на "ничем" и ещё подчеркнул. |
|||
47
lEvGl
гуру
26.12.24
✎
23:20
|
(46) "ничем" спорный вопрос
это отрицающая частица к подлежащему-существительному, между ними можно вставить что нибудь |
|||
48
Волшебник
26.12.24
✎
23:16
|
(47) Спорь дальше... Но не со мной, а со своей грамотностью и знанием русского языка. Встретимся на трансцендентностьях...
|
|||
49
lEvGl
гуру
26.12.24
✎
23:24
|
:D :D
зы. концепция понятна, принята, но тут.. сам написал, сам танцую и смеюсь |
|||
50
Волшебник
26.12.24
✎
23:24
|
(49) 🔥 ветка - огонь, да? ;)
|
|||
51
Волшебник
26.12.24
✎
23:23
|
💖 Люблю мисту...
|
|||
52
lEvGl
гуру
26.12.24
✎
23:30
|
покрутим еще..
давно эйчаров не было, с ними интересно! |
|||
53
Волшебник
26.12.24
✎
23:31
|
(52) в следующем году будут изменения, но эйчары останутся
|
|||
54
Волшебник
27.12.24
✎
00:08
|
кто ещё не высказался в этой ветке, пожалуйста.
ВЕТКА ОТКРЫТА Но мы всех ждём дальше OFF: Новая музыка и песни 2024 года |
|||
55
H A D G E H O G s
27.12.24
✎
00:41
|
(0)
Человек - это веревка, натянутая между зверем и сверхчеловеком, веревка над бездной. Опасный путь; опасно идти вперед, опасно оглядываться назад. Опасно сомневаться и останавливаться. Величие человека в том, что он - мост, а не тупик. Что он постоянно ищет и развивается. Я восхищаюсь теми, кто не знает, как жить, ибо они перешли бездну. |
|||
56
Волшебник
27.12.24
✎
01:20
|
(55) 💖 бесконечно круто
|
|||
57
Волшебник
27.12.24
✎
01:44
|
(55) Дай добавлю, что сам узнал.
Слышал русскую песню ээх ухнем... когда канат натягивают? Ну вспомнил, да? |
|||
58
Stepashkin
27.12.24
✎
07:02
|
Прочел терзания вкатуна. Ужаснулся. Стало грустно от текущего положения дел в стране в сфере IT. Как с такими мыслями начинать день???
|
|||
59
DimVad
27.12.24
✎
07:28
|
(0) В процедуре "Перед записью" документа Вы можете выполнять запрос по документам "Накладная" - ищите документы с такими водителями. Ищите только если режим записи "Проведение".
Если такой документ найден, он не помечен на удаление и он не текущий (который проводится) то присваиваете переменной Отказ значение Истина и пишите сообщение. Регистр не нужен. |
|||
60
Волшебник
27.12.24
✎
09:47
|
(59) фу
|
|||
61
skafandr
27.12.24
✎
13:55
|
(59) Вот взял и всё представление поломал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |