Имя: Пароль:
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
Самое интересное, что сами программеры подсказывают пользователям "как наипать систему"...нормально, Хьюстон, идем ко дну
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший