Имя: Пароль:
1C
1С v8
Реализация механизма
0 na1kk
 
13.06.18
14:27
В каких модулях реализовывать? в обработке заполнения док-та ПКО?

пример

если сумма заказа равна 14000
приходно кассовый ордер создано на 14000

в таком случае нельзя создать 2 документ поступление ДС или приходно кассовый ордер

если сумму 14000
приходно кассовый ордер на в 12000

то можно создать поступление ДС или приходно кассовый ордер на 2000


если сумма заказа 14000
приходно кассовый ордер создано 12000
приходно кассовый ордер на 2000

нельзя создать поступление ДС или приходно кассовый ордер


то есть
если (сумма заказа - (поспупление ДС(мб несколько) + приходно кассовые ордера (мб несколько) )) = 0 или (вдруг меньше 0) = создать приходно кассовый ордер или поступление ДС нельзя
1 Serg_1960
 
13.06.18
14:31
Реализация какого механизма? Часы с кукушкой?
2 na1kk
 
13.06.18
14:32
(1) (0)
3 YaFedor
 
13.06.18
14:34
Да, в обработке заполнения ПКО и поступления ДС.

Можно сделать отдельный модуль и вызывать его из них
4 Масянька
 
13.06.18
14:35
(2) А кто такой "механизм" расписал?
5 YaFedor
 
13.06.18
14:35
+

но тут есть нюансы - проведение ранее непроведенных ПКО и Поступление ДС, этот случай нужно тоже обработать.

кроме того не забыть про изменение заказа при уже имеющихся ПКО и ПДС
6 na1kk
 
13.06.18
14:36
(3) проблема в том, что конфигурация на поддержке, я и думал через подписку делать. Но вопрос еще в том, что как мне понять была ли уже создан ПКО? искать запросом по чему? по сумму? контрагенту?
7 na1kk
 
13.06.18
14:36
(4) заказчик
8 Масянька
 
13.06.18
14:37
(7) А ты - кто?
9 YaFedor
 
13.06.18
14:39
(6) Ну я так понимаю ИСКАТЬ ПКО созданный на основании заказа. Если связи между заказом и ПКО нет - то пусть заказчик скажет как искать - это же он как-то придумал
10 na1kk
 
13.06.18
14:42
(9) понял,спасибо! еще проблема) если делаю запрос и ничего не нахожу, то пишу отказ =истина, возврат. НО док-т ПКО все равно создается, хотя и пустой, как сделать, чтобы он вообще не создавался?
11 Serg_1960
 
13.06.18
14:43
(2) Это вопрос про функционал, а не про механизм. Ок?

Функционал взаимного контроля, его специфика: его всегда на проведение вешают, на всех документы взаимоконтроля. Лучше подпиской если их много.
12 na1kk
 
13.06.18
14:46
(11) понял,спасибо!
13 YaFedor
 
13.06.18
14:47
Кстати да, в обработке заполнения - само заполнение, а проверку в другой процедуре. Я делал подпиской в ПередЗаписью()
14 Масянька
 
13.06.18
14:48
(10) Контроль суммы расчетов при вводе на основании.
PS Уровень эсников все ниже и ниже...
17 Serg_1960
 
13.06.18
14:53
(10) Если создавать документ "по основанию", а заполнять типа "по остаткам" суммы расчетов, то новый незаписанный документ - кому мешает? Пусть юзвер голову себе ломает почему документ не заполненный создался. Имхо, стоит ли его в таком случае записывать или нет - ему решать. имхо, не надо всё автоматизировать и тем самым на себя брать ответственность.
20 Serg_1960
 
13.06.18
15:01
В типовых, кстати, заполнение "на основании" иногда "дублируют" кнопкой в документе (или командой заполнения ТЧ). Удобно, если юзвер нашел и устранил причину, по которой документ не заполнился при создании.
21 Serg_1960
 
модератор
13.06.18
15:02
"Флейм и оффтопик в тематических разделах 1С и IT не допускается."
22 Масянька
 
13.06.18
15:06
+ (14) При проведении ПКО/ДС - повторить контроль суммы расчетов.
А (17) +100500.
23 na1kk
 
13.06.18
15:11
спасибо всем за ответы! буду пробовать реализовывать.
Подытожим:
1. Реализовываю механизм в общем модуле в подписке на событие в модуле ПередЗаписью()
2. Запрос связываю с документом основанием
3. Учет ньюансов (проведение ранее непроведенных ПКО и Поступление ДС, этот случай нужно обработать. кроме того не забыть про изменение заказа при уже имеющихся ПКО и ПДС)

что еще забыл? не учел?
24 na1kk
 
13.06.18
15:24
(13) почему перед записью, пользак же на основании заказа делает себе ПКО
25 Новиков
 
13.06.18
15:33
У тебя задача какая-то обтекаемая. Я внеконтекста всего этого дерьма, но:

1. Если тебе нужен именно отказ во вводе на основании - то единственное правильное решение в данный момент (рекомендуемое), это в обработчике заполнения вызывать исключение.

2. Если записать твои документы можно, что правильнее, то такую проверку нужно делать в обработчике проведения.
26 na1kk
 
13.06.18
15:38
(25) не нужно записывать, задача стоит, чтобы не давать создавать новый документ
27 YaFedor
 
13.06.18
15:43
(24) ну так перед записью проверил, если не ок - не дал записать.

Во вводе на основании ты можешь заполнить документ, пользователь потом нажмет записать и получит ответ, что нельзя.
28 na1kk
 
13.06.18
15:48
(27) ясно,спасибо
29 Новиков
 
13.06.18
15:50
(28) а форма должна открываться вообще или нет? Если твои условия сработали, ты понял - что НЕТ, форма должна быть на экране?
30 na1kk
 
13.06.18
15:53
(29) вот это уже уточняю у заказчика.
31 Новиков
 
13.06.18
15:55
(30) Если форму открывать не надо, тогда (25).
Оф.пруф: https://its.1c.ru/db/v8std#content:2149184045:hdoc
32 na1kk
 
13.06.18
16:01
(31) ага, попробовал ВызватьИсключение, спасибо! то, что нужно
33 Новиков
 
13.06.18
16:03
(32) =) ИТС наше все, пожалуйста.
34 na1kk
 
13.06.18
17:43
(33) отрыл проблему, в обработке заполнения в структуре ДанныеЗаполнения, для ПДС нет док-та основания, если ПКО делаю, то все ок.
35 Cyberhawk
 
13.06.18
17:52
Вся соль пойдет тогда, когда заказчик захочет интерактивчик
36 Масянька
 
14.06.18
08:27
(34) Это не проблема. Это - функционал 1С.
37 Cool_Profi
 
14.06.18
08:56
(32) За исключения нужно бить линейкой по рукам...
38 na1kk
 
14.06.18
09:01
(36) как быть тогда для ПДС, подскажите, светлые головы
39 FIXXXL
 
14.06.18
09:49
(38) я бы посоветовал анализировать Взаиморасчеты, а не введеные документы...
40 Новиков
 
14.06.18
09:59
(34) так ты посмотри, как в этом случае открывается форма объекта? Найди этот кусок и дальше читай опять фак:
http://v8.1c.ru/metod/faq2/answer.jsp?id=583
41 Масянька
 
14.06.18
10:03
(39) Предлагала... (22).
(38) Я бы заказчику объяснила, что ПДС предусмотрен для другого. А для расчетов с контрагентами предусмотрены ПКО и ПП. А если заказчик хочет втыкать ПДС - придется ломать типовой механизм.
42 na1kk
 
14.06.18
10:19
(41) понял,спасибо!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший