| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > При загрузке совпадают номера документов |
| Автор: bucdapus 7.2.2008, 08:33 |
| Не хочу создавать новую тему, но проблема при загрузке документов. у меня в программе номер документа может совпадать если продавец разный. и нужно документы загрузить в 1с но она не дает загружать документы с одинаковым номером,вот прошу помощи у ВАС программисты как сделать так чтобы при совпадении к номеру добавлялась буква по алфавиту, т.е документы с номерами 1,1,1 должны загрузиться как 1а,1б,1в????????????????????? |
| Автор: AkelaSQL 7.2.2008, 10:12 |
| Префиксы нужно задавать в начале номера, иначе будет нарушен порядок автонумерации. Есть стандартная реализация префиксов в конфигурациях 1С. Префикс присваивается каждой из баз, если они распределенные и каждому юр. лицу, если учет ведется в разрезе нескольких ЮЛ. Формирование номера происходит примерно так: Пример из 1С Комплексная или 1С Торговля и склад. Префикс = СокрЛП(Константа.ПрефиксИБ) + СокрЛП(Фирма.ЮрФизЛицо.ПрефиксНомеров); УстановитьНовыНомер(Префикс); Писал по памяти, прошу прощения за неточности. |
| Автор: bucdapus 7.2.2008, 10:58 |
| Так на автонумерацию нам забить она мне не нужна. но нужно как то добавлять буквы в конец, тк приперекидке документов с номером 1 может быть и 10 |
| Автор: BabySG 7.2.2008, 13:40 |
| Уважаемый, вам http://www.1c-pro.ru/index.php?showtopic=10428 ответили совершенно верно, если вы не поняли ответа, стоило переспросить |
| Автор: AkelaSQL 7.2.2008, 14:24 |
| Тогда убери в конфигураторе для этого типа документов "Контроль уникальности" для номеров и создавай хоть 100 штук. Если всё-таки хочешь лепить буквы - додумайся сам, например можно отбирать в запросе все документы этого типа за текущий год с условием по номеру Лев(НомерДок, 'ДлинаПоля'-1) = ТекущийНомерДок; Ну а потом в зависимости от количества записей в результате запроса думай какую букву добавить (это при условии, что номер полный и всегда в конце есть буквы). Можно использовать функцию Найти(), но в запросе работает очень медленно и возможно много "ложных" вхождений. Только я скажу тебе одно, ты себя ведёшь как "слон в посудной лавке". Есть свои подходы и стандарты в каждой среде. Технических решений МАССА, любой сносный программер тебе вывернет это массой способов, но! Люди знающие, такой гемор не делают! Мой совет: Оставь автонумерацию 1С в покое вместе с её номерами, добавь два поля: НомерДокВход, ДатаДокВход и пиши туда свои номера! И прежде чем задать пустяковый вопрос открой любую типовую конфу и посмотри как это делают в 1С. У них не все всегда красиво и логично, но чтобы это критиковать тебе ещё нужно много учиться и писать. Советую тест для начинающего программера: есть переменные А и В, задача обменяться значениями без использования третьей переменной. Хорошо развивает изворотливость. |