|
v7: открыть форму документа | ☑ | ||
---|---|---|---|---|
0
Dmitriy_stav
03.03.13
✎
15:20
|
Я програмно создал новый документ и заполнил его.
Могу ли вывести его на экран не записав перед этим. |
|||
1
Torquader
03.03.13
✎
15:23
|
В семёрке - нет или махинации с открытием формы и сохранением или сохранение и только потом открытие.
|
|||
2
Dmitriy_stav
03.03.13
✎
15:28
|
Сохранять нежелательно, пока пользователь глазами не увидит. А что за махинаци???
|
|||
3
Guk
03.03.13
✎
15:31
|
порватый баян...
|
|||
4
Torquader
03.03.13
✎
15:32
|
(3) Самое простое - открываешь форму нового документа и в параметре передаёшь таблицу значений для заполнения документа данными.
|
|||
5
Dmitriy_stav
03.03.13
✎
15:34
|
Я все детство занимался игрой на баяне, и ни на одной кнопке про открытие несохраненного документа не было написано.
Баян это страшная штука, уж поверь мне. Даже порванный. |
|||
6
Guk
03.03.13
✎
15:36
|
(4) самое простое, это подключить формекс и без каких-либо извратов открывать форму, хоть записанную, хоть незаписанную...
|
|||
7
Torquader
03.03.13
✎
15:37
|
Самое печальное в другом - при открытии формы нового документа, как и при его создании в программе, на него расходуется номер, если в этот момент будет создан следующий документ, то номер текущего может быть потерян, если его не сохранят.
|
|||
8
Dmitriy_stav
03.03.13
✎
15:38
|
Ну да, но тогда и в открываемом документе в модуле придется изменять приоткрытии или писать ввод на основании. А это двойная работа.
|
|||
9
Dmitriy_stav
03.03.13
✎
15:46
|
Таквоттож. Я и думал, раз номер есть, значит и открыть можно.
|
|||
10
Злопчинский
03.03.13
✎
16:21
|
Автор, нахрена открывать заполненный документ? что там, В ЗАПОЛНЕННОМ документе юзверь увидеть и проверить должен? или ты НЕ ЗНАЕШЬ какими данными ПРАВИЛЬНО заполнять программный док..? Знаешь - заполни, запиши, открой - пусть делают что хотят после того как ты ПРАВИЛЬНО заполнил документ. Не знаешь - нефиг заполнять! Открой форму нового документа - пусть сами заполняют
|
|||
11
Torquader
03.03.13
✎
16:26
|
(10) Он просто в восьмёрке привык, что там можно сделать сначала СоздатьОбъект, а потом ПолучитьФорму().Открыть() и откроется форма незаписанного документа.
В семёрке модуля объекта, как такового, просто нет - есть модуль документа, но он работает только при проведении, а также модуль формы, который работает, когда форма открыта. |
|||
12
Злопчинский
03.03.13
✎
16:30
|
(11) да тут принуип сам важен. я вот сколько лет в разных конторах генерю тоннами на автомате новые доки - ну ни разу такой херни даже в помыслах не было... хз почему... умнынй, наверное, потому что...
http://news.rin.ru/pictures/24/221108.jpg |
|||
13
Web00001
03.03.13
✎
16:38
|
(12)Клиент хочет видеть документ, перед тем как его записать. Это часть ТЗ и за выполнение работы, он платит деньги, он не хочет смотреть правильные данные или нет в каком то эфемерном отчете, он хочет открыть заполненную реализацию, пересчитать сумму в разных типах цен и если все ОК записать(реальный пример, слава яйцам 8ка, обошлось без гемора). Ему какой довод привести?
|
|||
14
Torquader
03.03.13
✎
16:39
|
(12) На самом деле, такое иногда нужно - загружают документ из другой системы по переданным данным, и пользователю хочется посмотреть, что получится, прежде чем документ окажется в базе.
Другое дело, что посмотреть можно и на любой другой форме. Потом, очень важно, чтобы запись документа проходила штатно, то есть выполнялась проверка заполненности и т.п., что находится в модуле формы, иначе можно записать всё, что угодно. |
|||
15
Torquader
03.03.13
✎
16:42
|
В восьмёрке внутренний идентификатор присваивается документу при его рождении, то есть запись никак на расходование Ид (а там же GUID) никак не влияет. Поэтому, никаких проблем с работой с документом нет - мы даже можем дать на него ссылку, чтобы присвоить другому документу.
В семёрке Ид документа формируется по таблице и он единый для всех - присваивается в момент записи в базу данных посему до записи документа в базу он как бы не существует. |
|||
16
Злопчинский
03.03.13
✎
17:00
|
(13) типичный .овноподход
> он хочет открыть заполненную реализацию, пересчитать сумму в разных типах цен и если все ОК записать - свидетельствует том, что на документ повесили несвойственный функционал, несвойственный функционал - кривая реализация. Однако, как известно куче фришников, франчей и фикси - похрен что делать, лишь бы деньги платили. |
|||
17
Злопчинский
03.03.13
✎
17:02
|
(14) > загружают документ из другой системы по переданным данным, и пользователю хочется посмотреть, что получится, прежде чем документ окажется в базе.
- эээ, извините, а что алгоритмы трансформации и формат входных данных не известен...? неизвестно что НАДО получить на выходе (в документе) по входным данным...? ну тады да - какой-то полуфабрикат, который подтягивает черновик и дальше делают ручками... мой же мелкий опыт показывает "..все что вы делаете ручками - все очень плохо"... |
|||
18
Torquader
03.03.13
✎
17:04
|
(16) Если заказчик сам не знает, что ему надо, то и получаются такие ТЗ.
Конечно, можно пытаться объяснить заказчику, что это ему не нужно, а нужно ему совершенно другое. |
|||
19
Torquader
03.03.13
✎
17:06
|
(17) Я видел очень много "умных" людей, которые переносят данные из одной учётной программы в другую, а потом их правят. То есть в документе могут удалить часть строк или перенести в другой, правда, я не знаю, что мешает сохранить документ перед изменением.
|
|||
20
Злопчинский
03.03.13
✎
17:09
|
(18) ну про то и речь...
я бы немного уточнил твою мысль: "..НУЖНО ПЫТАТЬСЯ ВЫЯСНИТЬ у заказчика, что ему нужно". . заказчику зачастую начинают описывать нужные ПО ИХ ПРЕДСТАВЛЕНИЯМ инструменты/методы.. гвозди, молоток... получают гвозди.. молоток.. и только потом выясняется что надо две железные рельсы скрепить... |
|||
21
Злопчинский
03.03.13
✎
17:12
|
(19) хз.. сие покрыто мраком как правило ;-) по моим наблюдениям - это следствие изначально неправильной постановки работы/учета или же недостаточности ресурсов на такую постановку... возможно, такакй тупой обезъяний процесс вполне себе оправдан где-то... на неключевых участках... Спустя неделю/месяц поянть почему данные разложен так а не иначе - фиг проссышь... ВРОДЕ правильно - ну и зашибись...
|
|||
22
Torquader
03.03.13
✎
17:17
|
(21) Основная проблема в том, что на уровне 1С (да и многих других программ) не получается сделать все данные в одной системе с разделением по участкам, чтобы каждая часть программы работала только со своими данными.
Тогда необходимости переноса данных, как и попытка слепить из данных одной системы, необходимые в другой - отпадают. В случае переноса - посмотреть документ никак не мешает, но самое главное - продумать вопрос синхронизации номеров, чтобы при повторном переносе открывался заполненный в прошлый раз документ, а не новый - иначе - получается граната для обезьяны. |
|||
23
Злопчинский
03.03.13
✎
17:21
|
(22) ух, переносы и обмены жуть как не люблю. У меня вот по истечении двух лет выяснилось что требуется некая определенная инфа, а получить ее влегкую - неготкуда.. бо не планировалось/не думалось/давайдавай... вот и маюсь сейчас склеивая часть инфы из торг с частью инфы из бух. главное чтобы это никто из других 1Сников не видел ;-) распнут/засмеют...
|
|||
24
Dmitriy_stav
03.03.13
✎
18:17
|
Знаешьв чем заморочка, товар приходуется по строчкам 190 кг* 2,17 + .... и в итоге получается конкретная сумма. А в накладной поставщика написано что 800 кг * 3р = 2401 рубль. И хоть ты его убей. Он говорит что 2 х 2 = 4.1. Поэтому приходится сворачивать все одинаковые строчки и делать новый документ. И там уже корректировать сумму на сумму по накладной. А может так получиться что и пользователь в основном документе где в кол-ве ошибся и что, каждый раз удалять вновь созданный документ?
|
|||
25
Dmitriy_stav
03.03.13
✎
18:27
|
Так что проверять документ перед записью всегда надо. И это не прихоть пользователя.
Получается что переданный параметр в открывающуюся форму единственное решени. Ввод на основании тоже не пашет пока основной документ не записан. |
|||
26
Злопчинский
03.03.13
✎
18:39
|
(24) абсолютно тривиальная задача, в чем проблема подтянуть накладную поставщика из файла обмена, загрузить по данным поставщика и в протокол выдать строки где расхождения по типу:
поставщик: 800*3 = 2401, по математике=2400, невязка = 1, этот загруженный документ сравнить С ФАКТОМ приемки (приемку делай хоть одну позицию на 20 строк ОТДЕЛЬНЫМ СООТВЕТСУЮЩИМ ДОКОМ или как-то иначе) и выдавать проткоол фактической приемки. . хотя, вообщем, похрен. Ибо из изложеняи задачи все равно неясны все тонкости. Но итог один: чем меньше будут чего-тотам вбивать ручками ВМЕСТО ПОСТАВЩИКА - тем больше ошибок и "ненужной" работы... как-то так. |
|||
27
Dmitriy_stav
03.03.13
✎
19:15
|
Накладная поставщика действительно находится в файле, только не обмена а целофановом на столе у кладовщика. И пользователю тоже не улыбается два раза одно и тоже заносить. Действительно риск ошибиться повышается. Но пока поставщик не начнет писать в накладной 2 х2 =4, другого пути пока не видно. Но это все лирика. Спасибо за совет.
|
|||
28
ЧеловекДуши
03.03.13
✎
19:28
|
(11) В семерке делается тоже самое :)
|
|||
29
ЧеловекДуши
03.03.13
✎
19:29
|
(26) Просто они считают: Цена * Количество = Сумма
А поставщик: Сумма / Количество = Цена Вот и весь секрет :) |
|||
30
ЧеловекДуши
03.03.13
✎
19:30
|
+ Еще там же автоматически включается само НДС, но может и не включаться... Это как с поставщиком договорится клиент :)
|
|||
31
ЧеловекДуши
03.03.13
✎
19:30
|
(27) Бессмысленный путь... но ты страдай, только через страдание приходит опыт :)
|
|||
32
KishMish
03.03.13
✎
19:31
|
(0)
начать транзакцию записать докуент откыть его отменить транзакцию |
|||
33
ЧеловекДуши
03.03.13
✎
19:33
|
(32) С 50-тью пользователями, не самый гуманный путь :)
|
|||
34
ЧеловекДуши
03.03.13
✎
19:34
|
+(32) А если он после еще нажмет "Сохранить"?
Что будет? |
|||
35
KishMish
03.03.13
✎
19:37
|
(34) впрос был про вывести. если нажмет созранить будет .ошибка
|
|||
36
Злопчинский
03.03.13
✎
19:56
|
(27) так ты ничего и не понял...
|
|||
37
Umga2002
03.03.13
✎
21:31
|
Как вариант: Заполнить форму Обработки и по кнопке перенсти в документ.....
|
|||
38
Zhuravlik
03.03.13
✎
21:46
|
(0) ОткрытьФорму("Документ.МойДокумент", Конт);
Конт.Контрагент = МойКонтрагент; Конт.ДатаДок = МояДата; и т.д. Открывая форму нового документа, заполняем через контекст все необходимые реквизиты. При этом он записан будет только по желанию того, кто его открыл. |
|||
39
Cthulhu
03.03.13
✎
23:10
|
(38): таб.часть таким образом хренасдва заполнишь. разве что с внешними компонентами, которые эту возможность (заполнение таб.части документа через контекст формы) поддерживают - например, formex.
|
|||
40
Zhuravlik
03.03.13
✎
23:39
|
(39) Да, действительно, без формекса не работает... Не знал.
|
|||
41
Web00001
04.03.13
✎
03:20
|
(16)Ты не линуксоид\маковод случаем? Их симптомы из разряда:
- В вашей системе реализован протокол X? - Нет. Протокол X не нужен. По крайней мере мне ни разу не понадобился. Вопрос здесь не в том, какой функционал повесили на документ, вопрос в том, что заказчику удобнее работать в форме документа. Если с реализацией пример тебе не нравится(там действительно должны быть точные цифры), давай возьмем формирование заказа. очень часто это процесс творческий(за исключением очень больших объемов, когда не автоматизировать это невозможно), в середине которого, человек может посмотреть - как то мало получается, не буду оформлять, сделаю чуть позже когда заказ будет побольше. - Маловато товара на складе у поставщика, не буду оформлять, опять половина не приедет. Ну и тд, ситуации бывают разные. Или просто бросить на середине, потому что передумал. Или отказаться от записи по каким то еще причинам. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |