Имя: Пароль:
1C
1С v8
как программно проверить документ
0 r2d24
 
14.10.13
10:57
Возник вопрос в 1с, в обычном приложении.
В режиме предприятия, создал документ, оприходование товара. Как программно проверить создал я документ или нет.

Опр=Документы.ОприходованиеТоваров.ПолучитьФорму("ФормаДокумента");
Если Опр.ЭтоНовый() Тогда
    Сообщить("новый документ");
Иначе
    Сообщить("документ не создан");        
КонецЕсли;
1 Wobland
 
14.10.13
10:58
где вопрос (ты же хочешь задать вопрос?)? к чему тут форма?
2 Rie
 
14.10.13
10:58
(0) Это что такое написано?
3 r2d24
 
14.10.13
10:59
я хочу проверить программно, создан ли документ
4 Лефмихалыч
 
14.10.13
11:00
(0) я ни чего не понял
5 Лефмихалыч
 
14.10.13
11:00
(3) поищи его программно запросом, например. Если найдешь, значит создан
6 Godofsin
 
14.10.13
11:00
в (0) полный бред
7 Godofsin
 
14.10.13
11:01
ты поймешь, что создал документ программно после:
Опр = Документы.ОприходованиеТоваров.СоздатьДокумент();
...
...
...
Опр.Записать();
8 Wobland
 
14.10.13
11:02
(5) (7) не записанный документ не может считаться созданным?
9 r2d24
 
14.10.13
11:03
(7) Мне не нужно программно создавать документ, документ создаю в ручную
10 Godofsin
 
14.10.13
11:04
(8) Смотря что ТС вкладывает в понятие "создал документ"
11 Wobland
 
14.10.13
11:04
(9) рукам не доверяешь? бывает, я тоже не уверен, в каком кармане у меня спички и есть ли. но строго в нетрезвом режиме ;)
12 NcSteel
 
14.10.13
11:04
(9) Опиши задачу нормально, в (0) написан бред.
13 Godofsin
 
14.10.13
11:04
(11) =)))
14 Godofsin
 
14.10.13
11:05
(9) Так а таки зачем?
15 r2d24
 
14.10.13
11:08
Короче, вопрос ко всем: Как программно проверить, создал ли я документ в руную.
т.е. в режиме 1С: Предприятие нажимаю кнопку добавить для создания документа Оприходование товаров. Потом Открываю обработку, нажимаю на ней кнопку для проверки, которая определит создал ли я документ
16 NcSteel
 
14.10.13
11:08
(15) Велосипедист?
17 Wobland
 
14.10.13
11:10
(15) форму увидел? это форма документа, он у тебя есть
18 MSII
 
14.10.13
11:10
(15) А если нажал кнопку Добавить, а потом закрыл без записи - это как будет считаться по вашему, создал документ или нет?
19 cw014
 
14.10.13
11:11
А вот и не определит... Ибо платформа не работает с контекстами формы вне формы (если только всяческих велосипедов ненадобавлять)
20 r2d24
 
14.10.13
11:11
(16) не велосипедист, а начинающий...
21 Godofsin
 
14.10.13
11:11
(15) это пздц. Если ты хочешь делить док-ты по признаку "создан вручную/программно", то заведи в доке служебную галку, которая тебе это будет показывать.
22 MSII
 
14.10.13
11:12
(20) Тогда расскажи, зачем тебе проверять, создал ты документ или не создал.
23 Федя Тяпкин
 
14.10.13
11:13
А обработку которая проверяет вошел ли ты в 1С уже написал?
24 r2d24
 
14.10.13
11:13
(18)(19), по вашим отзывам я понимаю, что сделать мою задачу нельзя?
25 cw014
 
14.10.13
11:13
(20) Начинающий велосипедист
26 cw014
 
14.10.13
11:14
(24) Опиши задачу - зачем тебе этот костыль нужен?
27 r2d24
 
14.10.13
11:15
(26) Задачу в двух словах не описать
28 NcSteel
 
14.10.13
11:15
(24) Скорее всего ты хочешь реализовать глупость, так как еще мало знаний. Поэтому лучше опиши полностью задачу.
29 Бледно Золотистый
 
14.10.13
11:17
(27) Не понял в чем задача, но документ создан только тогда, когда он записан в базу, во всех остальных случаях документа нет.
30 Wobland
 
14.10.13
11:17
(21) документу как сущности должно быть по хрен, как он создан. я в это твёрдо верю
31 rmrush
 
14.10.13
11:18
(15) как интуитивно проверить покушал я уже или нет (ну или что-то другое)
32 Godofsin
 
14.10.13
11:21
(30) Ну так то документу. Мы так и не узнали, что конкретно хочет ТС
33 r2d24
 
14.10.13
11:21
ОПИСЫВАЮ ЗАДАЧУ:
Делаю "реализацию товаров и услуг", продаю товар которого не хватает на складе. Нужно определить сколько товара не хватает и в каком количестве. и потом нужно сделать одним документом "оприходование товара" которого не хватает на складе.
А то про что я в начале спрашивал, это одно из действий к решению задачи
34 NcSteel
 
14.10.13
11:22
(33) Вообще не вижу в этой задаче зачем делать проверку интерактивного ввода документа.
35 User_Agronom
 
14.10.13
11:22
(15) В фирме проблемы с учётом товара?
Ну и проверяй запросом: если товара 0 шт - значит оприходование создалось
36 Fish
 
14.10.13
11:22
(33) Какая-то неправильная задача имхо.
37 NcSteel
 
14.10.13
11:24
Алгоритм такой видимо должен быть:
В конце учетного периода (день, неделя, месяц) пользователь открывает обработку по программному формированию оприходований и нажимает кнопарь и выбирает период.

В обработке реализован алгоритм по выбору отгрузок за определенный период и проверки остатков на момент отгрузки. Если отгрузка прошла в минус, то формируется документ Оприходование с датой равной началу периода.
38 NcSteel
 
14.10.13
11:24
(36) Может розница, они там и не такое хотят.
39 Wobland
 
14.10.13
11:24
(33) и как ты из этого пришёл к (0)?
40 Jonny_Khomich
 
14.10.13
11:25
(33) А как ты товар оприходуешь на склад, если он к тебе ещё не приехал?
41 rmrush
 
14.10.13
11:25
Может тупо разрешить проведение в минус в параметрах учета и на этом все? :)
42 Wobland
 
14.10.13
11:25
(40) оприходование - оно такое. берёт и приезжает товар
43 r2d24
 
14.10.13
11:26
(34) Говорил долго объяснять, код нужно дописать как я понимаю в общий модуль, ту процедуру в общем модуле вызовет процедура из модуля документа. А при выполнении, некоторые процедуры выполняются несколько раз, как цикл. И в этой процедуре мне и нужно создавать документ
44 r2d24
 
14.10.13
11:26
Товар оприходую за секунду до реализации
45 Fish
 
14.10.13
11:26
(39) Возможно, но фраза "продаю товар которого не хватает на складе" как-то сразу слух режет. Как-то не могу представить ситуацию, как можно продать 10 коробок, когда их на складе всего 5.
46 NcSteel
 
14.10.13
11:26
(43) Алгоритм читай в (38) И не надо общих модулей. Не надо крошить конфу.
47 Godofsin
 
14.10.13
11:27
(41) +1. А потом можно раз в месяц гасить минуса в остатках ))))
48 Jonny_Khomich
 
14.10.13
11:27
(43) ну ты после записи документа выводи сообщение, о том, что документ записался.
49 NcSteel
 
14.10.13
11:27
(45) Пересорт.
50 NcSteel
 
14.10.13
11:27
(47) Именно это лучший вариант.
51 rmrush
 
14.10.13
11:28
(50) лучший, если делать для себя, а так... =)
52 NcSteel
 
14.10.13
11:29
Прикол будет заключаться в том. Что если сразу формировать оприходование, то как защититься от ручных правок пользователями документра отгрузки. Например уменьшат количество, так как покупатель решил купить меньше и т.д.
53 Fish
 
14.10.13
11:29
(49) Ну так с пересортом надо бороться имхо не программными методами, а административными. А автоматизируя бардак получишь автоматизированный бардак.
54 Infsams654
 
14.10.13
11:29
(42) +100500 Нету товара, нате - приехал
55 Jonny_Khomich
 
14.10.13
11:33
Вот будет хохма потом. Товар покупателю отгрузили по документам, а фактически у него только 95 позиций из 100. И потом докажи, что ты не верблюд.
56 NcSteel
 
14.10.13
11:36
(53) Абсолютно согласен.
57 bolobol
 
14.10.13
11:55
(53) Абсолютно НЕ согласен! Автоматизировать пересорт, конечно, невозможно, а автоматизировать оперативное избавление от пересорта - часто решаемая задача.
Задачу (0), правда, тоже как бы не понял.
Подписка перед записью, выясняется нехватка товара, выполняется оприходование, выполняется проведение без отрицательных остатков с рассчитанной себестоимостью.
Откуда проблема цикла из (33) и какие-то общие модули конфы - не ясно мне.
58 NcSteel
 
14.10.13
11:56
(57) И как решить проблему в (52). Подписки явное зло.
59 bolobol
 
14.10.13
11:59
Отмена транзакции записи - отменит и создание оприходования.
Перезапись документа - отмена проведения оприходования, изменение документа оприходования. ГУИД или ещё нагляднее - дата и номер документа, создавшего оприходование вам в помощь. И проблем нет.
Защита от ручных изменений оприходования - подписка перед записью.
60 bolobol
 
14.10.13
12:01
(58) Конечно! Всё то зло, что заставляет вджобывать и ТЗ с описаниями писать. Да и задача не в определении зла, да и цель форума - ответ получить.
61 AlexITGround
 
14.10.13
12:09
(33) это какой-то цирк, зачем тогда Вам нужна 1С? Печатайте в  экселе ТТН-ки и все)
62 AlexITGround
 
14.10.13
13:23
Самое интересное, что сами программеры подсказывают пользователям "как наипать систему"...нормально, Хьюстон, идем ко дну