| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Номер документа введённого на основании |
| Автор: etc 5.8.2008, 09:10 |
| День добрый, люди добрые. Подскажите, как можно, и можно ли, реализовать следующую задумку. Есть документ Приход с номером Пн-0001 и при вводе, на основании этого прихода, например перемещения, хотелось бы что бы номер перемещения имел вид Пм-0001/1. Затем при вводе второго перемещения на основании этой же приходной, номер уже имел бы вид Пм-0001/2 ну и т.д. И плюс ко всему если перемещение вводится не на основании, то номер уже должен идти без "/1" Вообще реально ли такое осуществить? Подскажите как?! Спасибо! |
| Автор: Kaboom 5.8.2008, 09:58 |
Да. Для начала скажи версию 1С. |
| Автор: etc 5.8.2008, 10:15 |
| Сорри, забыл написать. 7.7 ТиС9.2 |
| Автор: Itsys 5.8.2008, 10:39 |
| Но надо найти процедуру в модуле формы ПеремещениеТМЦ "ЗаполнениеПоДокументуОснованию", пришли код процедуры, напишу что надо изменить.... |
| Автор: Kaboom 5.8.2008, 10:43 | ||
В модуле формы перемещения пишем процедуру ВводНаОсновании() в которой и формируем новый номер документа.
Код не проверялся, возможны ошибки. Учтите также, что номер перемещения должен иметь большую длину чем номер приходной накладной, иначе указанный код нужно подправить. |
| Автор: etc 5.8.2008, 11:21 | ||
Kaboom, спасибо, код отлично работает, но есть одно НО:
Если потом ввожу обычное перемещение, то он плюсуюе "/" |
| Автор: Itsys 5.8.2008, 11:38 |
С этим ты уже ничего не сделаешь... так работает встроенный механизм генерации номера, как вариант можно предложить использовать не "/[индекс документа]", а префикс в втвоем варианте "Пм-10001", "Пм-20001", "Пм-30001" и т.д. |
| Автор: Kaboom 5.8.2008, 12:45 |
Ну сделать можно. Просто нужно забыть о формировании номера самой 1С-кой и сделать свой механизм. |
| Автор: Itsys 5.8.2008, 13:15 |
| ЗЫ и как ты будешь разруливать ситуацию, когда одновременно 2 пользователя захотят ввести новое перемещение? |
| Автор: Kaboom 5.8.2008, 14:12 | ||||
Сделать выборку с конца а не начала.
Можно константу с последним номером сделать, тогда и получение номера будет быстрее; а можно и записывать документ после открытия Добавлено через 1 минуту и 14 секунд Все же думаю что нет проблем которые не решаются |
| Автор: Itsys 5.8.2008, 15:44 |
| Kaboom, я могу привести еще кучу "а если" при которых предложенные тобой варианты будут неработоспособны, но при этом я могу придумать средства обхода данных ситуаций, потом появятся новые проблемы и т.д. я за свою практику уже столько раз сталкивался с неработосособными системами ручной установки новых номеров.... Что большой тебе совет от меня - не делай так если не хочешь гемороя на свою Ж в дальнейшем. Лучше найти вариант, который устроит заказчика, и, при этом, будет использовать стандартный алгоритм присвоения номера документа. Я думаю что хватит растекаться мыслями не связаннми с основным топиком.... |
| Автор: Kaboom 5.8.2008, 18:08 |
| etc, соглашусь с Itsys, надежнее создать новый реквизит шапки для дополнительного номера документа. |
| Автор: sai_NT 8.8.2008, 01:19 | ||
Для этого и существует метод УстановитьНовыйНомер
но могут появиться пробелы (т.е Пм-0001/1, Пм-0001/2 и сразу Пм-0001/4) так как кто-то начнет вводить документ на основании, а потом откажется. Хотя такая же ситуация возникнет и при удалении уже созданного документа при любых предложенных методиках. |