Имя: Пароль:
1C
 
Ввод на основании (запрет при повторном вводе)
🠗 (Волшебник 08.03.2024 17:39)
,
0 mixaylych
 
naïve
07.03.24
22:29
Прошу помощь. Как запретить повторное создание документа на основании, если он уже был создан на основании. А также запретить создание того-же без основания. Где
и какой код писать в модуле объекта. ОбработкаЗаполнения создана и документ создаётся, а далее по тексту. Очень нужно. Прошу отнестись с пониманием.
1 Волшебник
 
07.03.24
22:30
Не нужно этого запрещать, потому что в этом нет обоснованной необходимости.
2 Волшебник
 
07.03.24
22:31
Отойдите от Конфигуратора. Позовите взрослых.
3 mixaylych
 
naïve
07.03.24
22:36
А без отойти помочь никак нельзя?
4 Волшебник
 
08.03.24
09:07
(3) Если Вы не можете сделать запрет, значит не имеете на это права. Уберите руки от консоли.
5 rphosts
 
08.03.24
09:30
(0) 1.найди реквизит этого документа в котором сохраняется значение - ссылка на документ основание.
2.В обработке заполнения модуля объекта ОбработкаЗаполнения() проверь что не существует документов этого вида у которых документ-основание точно такой-же.
2.1 если существует - вызови исключение
6 rphosts
 
08.03.24
09:33
(3) ну вообще конечно лучше пойти почитать ну там Горобца, Радченко и т.п. - очень хорошо для начала заходит
7 mixaylych
 
naïve
08.03.24
10:58
(6) отдельного реквизита в котором сохраняется ссылка на док основание нет у документа и не требуется, чтобы он был. В том-то и дело. Нужно исходить только из данных заполнения.
8 Смотрящий
 
08.03.24
11:01
(7) Задача не решаема тогда
9 Волшебник
 
08.03.24
11:14
(7) Это не Вам решать, требуется или нет. Доктор сказал в морг, значит в морг.
10 2S
 
08.03.24
12:12
(7) придумайте регистр сведений с полями источник/приёмник.
Прям как маленький
11 mixaylych
 
naïve
08.03.24
12:24
Задача звучит так: Запретить повторное создание документа Продажа на основании того же самого документа Заказ. Больше никаких условий. Создана обработка заполнения и всё.
12 mixaylych
 
naïve
08.03.24
12:27
Может подскажите хоть создать документ Продажа только на основании, а не через создать. Спасибо
13 mixaylych
 
naïve
08.03.24
12:37
Этот задача курса. И условие только одно, про которое сказано выше. Никаких рс не должно быть
14 mixaylych
 
naïve
08.03.24
12:38
Кто решит, тому забашляю
15 Волшебник
 
08.03.24
12:39
(14) А потом Вы будете отдавать половину своей зарплаты за решение рабочих задач?
16 Волшебник
 
08.03.24
12:41
(11) Ошибочная постановка задачи. Откажитесь от выполнения задачи в такой постановке. Нарушение бизнес-логики
17 Волшебник
 
08.03.24
12:42
(13) Это кто сказал, что не должно быть? Ваше мнение не в счёт. Вы уже продемонстрировали свой уровень. Позовите архитектора системы.
18 rphosts
 
08.03.24
13:04
(7) если вы не знаете о нем- это не значит что его нет, может быть общий реквизит, может быть в критериях отбора хотя критерии решение так себе, пото в постановке задачи сказано, что нельзя добавить новые реквизиты/объекты или это вы так сами додумали?
19 2S
 
08.03.24
13:15
(11) кодить-то можно?
Ну храните информацию о документе в комментарии, во внешнем файле или ...в тетрадку ручками
20 Ranyee
 
08.03.24
13:48
Либо неправильно поняли постановку задачи, либо ошибка в задаче либо автор курса что то курил.
21 Гость из Мариуполя
 
гуру
08.03.24
14:04
(7) "Нужно исходить только из данных заполнения."
если так, тогда задача тупо не имеет решения.
Может быть много документов Продажа с "одинаковым заполнением". (как ты выражаешься).
Разные и одинаковые клиенты могут покупать одинаковые наборы с одинаковым заполнением документа Продажа.
Ну найдешь ты, допустим, документ Продажа с таким же заполнением, что и Заказ. И чо?
Где гарантия, что этот найденный тобой документ Продажа был ранее создан на основании именно этого конкретного документа Заказ, а не соседнего Заказа с таким же заполнением?

(13) "Этот задача курса"
поскольку это учебная задача, то 100% там просто обязан быть реквизит - ссылка на документ основание. Ну или любая другая однозначно идентифицируемая связка Заказ-Продажа, на худой конец тот же комментарий.
Просто студентов тренируют на сообразительность.
22 Гость из Мариуполя
 
гуру
08.03.24
14:39
(13) "И условие только одно, про которое сказано выше. Никаких рс не должно быть"

А давай ты на простом примере, "на пальцах" нам объяснишь.

Вася решил купить килограмм гвоздей. Сделал тебе Заказ.
Потом Вася сходил покурил (здоровье гробит, но это его проблемы), покурил, подумал, что килограмма будет маловато и сделал тебе еще один такой же Заказ на еще один килограмм таких же гвоздей.
Потом на следующий день было сделано две Продажи, каждая по килограмму гвоздей. Васе.

Если ты "на пальцах" расскажешь теоретически, как можно отличить, какой Заказ относится к какой Продаже, то так уж и быть...
С тебя чистая теория.
Итак - два Заказа, Две продажи.  Одному и тому же Васе с одним и тем же содержимым - килограмм гвоздей. Как ты говоришь - никаких всяких реквизитов/документов-оснований, регистров сведений, комментариев и т.п. нет.
Итак, ждем с тебя теорию.. с твоим же условием "Нужно исходить только из данных заполнения."
23 FirstLine Support
 
08.03.24
14:24
я бы сделал проще. "Связку" хранил в файле Excel, при создании сверялся с файлом и принимал решение, создавать или нет новую реализацию. Потом, когда руки дойдут и будет свободное время, процесс можно было бы автоматизировать, и открывать файл Excel программно
24 Ranyee
 
08.03.24
14:25
(22) Если вводить можно только на основании один раз и без основания нельзя. То одинаковых продаж не может быть больше одинаковых заказов. Но это конечно все ерунда.
25 Гость из Мариуполя
 
гуру
08.03.24
15:21
(24) ага. То есть ты предлагаешь посчитать количество Заказов с этим контрагентом и таким содержимым, потом количество Продаж с этим же контрагентом и содержимым, и если кол-во Продаж совпадает с кол-вом Заказов, то отфутболивать.
То есть не привязывать конкретный Заказ к конкретной Продаже, а просто тупо посчитать их общее количество тех и других.
Продаж должно быть меньше или равно Заказам.
Если меньше, значит делаем еще одну Продажу, если равно - отфутболиваем.
это я расписываю не для тебя, а для автора сабжа :)


Ну.. почему ерунда, для учебной задачи может быть и сгодится.
у него же не стоит задача однозначно идентифицировать связку Заказ-Продажа, у него задача - не сделать лишнюю Продажу, то есть задача чтобы Продаж было не больше, чем Заказов.

Так что похоже ты нашел решение.
26 FirstLine Support
 
08.03.24
14:51
Еще хорошо бы вот как сделать, придумал с применением современных технологий. Допустим есть рукописный список связки в блокноте. Отправляем это в сервис распознавания текстов, а он возвращает нам json, который оправляем в нейросетку. У искусственного интеллекта есть одна задача, определить нужно создавать реализацию, или нет, и ответ мы получает тоже "да" или "нет". Но ответ-то мы получаем в звуковом речевом виде. Этот ответ с помощью сервиса распознавания голоса мы преобразуем снова в json и вот тут нужно немного попрограммировать. Наша задача написать несложную функцию, которая на ответ "да" возвращает истину, а на ответ «нет» соответственно – ложь. Эти значения мы отравляем в сервис произнесения речи, он говорит программе что нужно сделать, а сервис распознавания речи уже в обработке заполнения делает переход на нужную ветку алгоритма. Вот и всё.
27 Волшебник
 
08.03.24
15:09
(26) Добавьте ещё квантовые каналы связи, чтобы информацию было невозможно перехватить или подделать. Дело-то серьёзное...
28 mixaylych
 
naïve
08.03.24
15:25
Всём спасибо. Приз разыгран.
29 mixaylych
 
naïve
08.03.24
15:28
Сумма выигрыша составила 20000 рублей
30 rphosts
 
08.03.24
15:32
(26) закусывайте пожалуйста!
31 Волшебник
 
08.03.24
15:54
(14) 300 тыс есть?
32 rphosts
 
08.03.24
16:50
(29) без копии банковского перевода - "Не верю!"
33 2S
 
08.03.24
17:16
(29) чей победил?
34 FirstLine Support
 
09.03.24
09:39
(33) мой. Но это не точно
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.