![]() |
Модераторы: stron |
![]() ![]() ![]() |
|
bucdapus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 14.5.2007 Репутация: нет Всего: нет |
Вообщем ситуация такая когда присваеваю номер документу то 1с добавляет к номеру лишние пробелы, следовательно потом когда я ищу эту накладную по этому номеру не могу найти как мне можно помочь, чтобы не было пробелов.
на примере: Сообщить("Номер документа:" + ВыборкаПриходов.Номер+"/"); выводит: Номер документа:349 / а должно быть: Номер документа:349/ Заранее благодарю!!! |
|||
|
||||
geka6pucT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 31.7.2007 Репутация: нет Всего: нет |
СокрЛП(ВыборкаПриходов.Номер)
|
|||
|
||||
bucdapus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 14.5.2007 Репутация: нет Всего: нет |
это я знаю как мне написать поиск в самом справочнике???номенклатуры по номеру??
|
|||
|
||||
bucdapus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 14.5.2007 Репутация: нет Всего: нет |
ну можно и другой вариант а как тогда добавить пробелы к номеру но чтобы число символов всегда было не больше 11
ну типа был номер 1 а получисля (1___________) где вместо _ пробел |
|||
|
||||
geka6pucT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 31.7.2007 Репутация: нет Всего: нет |
Может Спр.НайтиПоКоду("002") ?
|
|||
|
||||
AkelaSQL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
Данный метод находит элемент по коду, причём концевые пробелы он отбрасывает сам. Если тип кода у Вас текстовый, то применяйте номерацию элементов справочника по методике 1С, т.е. если длина кода 8 символов, то код имеет вид: 00000011. При автонумерации следующий код у Вас будет: 00000012 Ещё возможно добавление к коду префикса при работе с распределёнными базами, дабы исключить коллизии. В этом случае код будет иметь вид: А-000011 При создании элементов программно, используйте для формирования кода справочника метод: УстановитьНовыйКод(Префикс) |
|||
|
||||
bucdapus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 14.5.2007 Репутация: нет Всего: нет |
почему не работаетвот такой код:
ПриходСсылка = Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру(ДобавлениеПробелов(БазаДБФ.Direct)); Если Не ЗначениеЗаполнено(ПриходСсылка) тогда Если БазаДБФ.Line=1 тогда ПриходОбъект=ДокумПриход.СоздатьДокумент(); где: Функция ДобавлениеПробелов(ПолучаемПеременную) Пока СтрДлина(ПолучаемПеременную)<> 11 Цикл ПолучаемПеременную = ПолучаемПеременную +" "; КонецЦикла; Сообщить("КОД ПОИСКА"+"+"+ПолучаемПеременную+"+"); Возврат(ПолучаемПеременную); КонецФункции Это сообщение отредактировал(а) bucdapus - 27.3.2009, 08:59 |
|||
|
||||
AkelaSQL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
НайтиПоНомеру(<Номер документа>, <Дата интервала>)
Параметры: <Номер документа> (обязательный) Тип: Число, Строка. Номер искомого документа. Тип передаваемого значения зависит от установки в конфигураторе представления номера документа. 1. Обрати внимание на правильную типизацию передаваемого номера, так-же попробуй задать второй параметр... 2. Зачем такой огород городить? Не нужно приписывать в хвост пробелы!!! Метод НайтиПоНомеру(<Номер документа>, <Дата интервала>) сам их отбрасывает. Пиши так и будет тебе счастье:
|
|||
|
||||
bucdapus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 14.5.2007 Репутация: нет Всего: нет |
так вот я до этого так и писал
когда я загружаю и документы создаются то номер документа из (***) превращается в (***________) и когда я пробую перезагрузить документы то не могу найти по номеру уже загруженную накладную... Добавлено через 5 минут и 47 секунд а в конфигураторе стоит строковое выражение номера, а менять мне нельзя тип значения. |
|||
|
||||
AkelaSQL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
1. Не может такого быть!
2. Я рекомендую не записывать Ваш номер в номер накладной 1С. Пусть номер в 1С система генерирует сама (уж очень много на него завязано ...). А вот Ваш номер пишите в поле "НомерВходящегоДокумента", это и будет ключем синхронизации, только 2 но... - в типовой конфе данное поле не индексировано, для ускорения поиска это нужно подправить... - для поиска документа лучше (быстрее) использовать запрос. |
|||
|
||||
bucdapus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 14.5.2007 Репутация: нет Всего: нет |
тогда как мне написать строку
ПриходОбъект.Номер = Формат(Строка(БазаДБФ.Number),"ЧГ=0"); где вместо Формат(Строка(БазаДБФ.Number),"ЧГ=0"); шла автоматическая 1с вская нумерация призагрузке документов??? |
|||
|
||||
AkelaSQL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
УстановитьНовыйНомер (SetNewNumber)
Синтаксис: УстановитьНовыйНомер(<Префикс номера>) Параметры: <Префикс номера> (необязательный) Тип: Строка. Префикс устанавливаемого номера. Значение по умолчанию: Пустая строка Описание: Устанавливает новый номер документа для заданного префикса номера. Примечание: Для документов с нумерацией в пределах периода, номер устанавливается в пределах периода, соответствующего установленной дате документа. Если дата - пустая, процедура установит номер в пределах периода соответствующего пустой дате. Пример: РасходнаяНакладная.УстановитьНовыйНомер(ПрефиксИБ); См. также: ДокументОбъект, событие ПриУстановкеНовогоНомера
|
|||
|
||||
bucdapus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 14.5.2007 Репутация: нет Всего: нет |
354 реальный номер* Дата 27.03.2009 16:33:39
пытаюсь написать функцию которая бы выделяла из этой строки число 354 но ничего не получается.... смысл вообщем втом что перебираю символы пока не пробел тогда вылет из цикла может у кого есть идеи... |
|||
|
||||
AkelaSQL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
Зачем ты убираешь пробелы? В цикле! Жесть!!!
НомерЦифрой = Число(СокрЛП(НомерСтрокой)); ![]() |
|||
|
||||
bucdapus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 14.5.2007 Репутация: нет Всего: нет |
да я не убираю пробелы мне всего нужно из коментария как то получать первые цифры и сравнивать их с номерами документов:
вот коментарий выглядит так: 354 реальный номер* Дата 27.03.2009 16:33:39 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "1C: Предприятие, SAP, ERP и учётные системы" | |
|
Запрещается! 1. Обсуждение крэков, кейгенов и других подобных программ Пробуйте искать сами или обращайтесь в приват к участникам форума. Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения. Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...) 2. Давать ссылки на взломанные продукты
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |