Не ищет документ по номеру
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Из документа «Смена учетных параметров» выбрать нужный документ по серийному номеру и номенклатуре
У меня есть серийный номер и номенклатура, мне нужно из документа «Смена учетных параметров».
По заданному номеру номеру масти м и номеру достоинства карты к определить полное название карты
Мастям игральных карт условно присвоены следующие порядковые номера:пики-1, трефы-2 , бубны-3.
Найти сумму четных по номеру элементов массива и произведение нечетных по номеру
Найти сумму четных по номеру элементов массива и произведение нечетных по номеру.
Что такое ДатаДок?
Почитай синтакс-помощник, В ДатаДок надо указывать период в котором ты хочешь искать документ в зависимости от периодичности нумерации. Если периодичность не установлена, то дату указывать не надо.
Интервал журнала тут вообще не причём. если тебе надо сказать, что документа в этом интервале нет. то сначала найди документ, возьми его дату, проверь с интервалом журнала и сообщи пользователю, что надо.
Опять же непонятно зачем тебе интервал журнала, если ты сразу документ открывваешь
Ramzes7523, Вы сами логику понимаете? Зачем вы создаете объект? И что это за объект?
Почему вы считаете, что у НОВОГО объекта может быть какой-то номер? Он только создан (хотя ваш код ничего НЕ создает), откуда там номер и что он может найти? Почему вы считаете что в таком виде будет искать по всей базе, если, как правило периодичность нумерации указывается в пределах года и значит, при наличии ДатаДок (тоже — что это и откуда ДатаДок?) искать будет в пределах года. Хотите по всей базе — не указывайте второй параметр. (читайте СП, там все более чем прозрачно). Что такое ТекущийДокумент() и откуда взялся?
Такое ощущение, что читаешь набор каких-то кусков даже не кода, а какой-то его имитации
Хочешь найти док с определенным номером? ЗАПРОС к БД с отбором по этому номеру. Пока все что вы показали — полнейший бред, извините
У тебя периодичность нумерации документа задана? Если да, то указывай любую дату из нужного периода, если нет, то дату вообще не указывай.
Документ ищется в базе, а не в открытом журнале и область видимости пользователя тут вообще не причём
Пример, периодичность задана — год:
2018 год, номера документов:
1
2
3
4
5
2019 год:
1
2
3
4
5
Нам нужен документ номер 3 из 2018 года, пишем
Дата должна быть любая из 2018 года
Если периодичность нумерации не задана. то:
2018 год
1
2
3
4
5
2019 год
6
7
8
9
10 — нумерация не начинается заново и номер всегда уникальный
Источник
Подводный камень метода документа НайтиПоНомеру
Думаю, многим из вас знаком метод документа НайтиПоНомеру. Казалось бы, что там интересного может быть. Однако, как показал недавний случай из моей практики и такие, давно существующие методы могут преподнести сюрпризы.
Метод имеет 2 параметра НомерДокумента и ДатаИнтервала. Передаешь в метод эти параметры, возвращается ссылка на найденный документ, либо Неопределено, если он не найден.
Подводный камень кроется в разрядности номера документа. Если вы передаете в качестве параметра номер, длина которого больше разрядности документа в системе, то метод обрезает лишние правые символы и ищет документ по этому обрезанному номеру. И если документ с таким номером существует, то он возвращает ссылку на него.
Проблема в том, что такое поведение метода имеет неявный характер. В документации эти особенности не отражены.
Разрядность документа в системе задана 11 символами. Передаем по ошибке номер ВН0000000307. 12 разрядов. Метод обрезает номер до 11 разрядов. Получается ВН000000030. Документ с таким номером существует в системе и метод возвращает ссылку на него. Естественно, все дальнейшие действия выполняются не с тем документом, который мы искали.
С моей точки зрения такое поведение метода является не корректным. Более правильным было бы, либо выдать ошибку о том, что длина номера не соответствует заданному в системе, либо поиск документа по полному номеру, пусть даже и превышающему разрядность, в этом случае документ не будет найден, и метод вернет Неопределено.
Если вы используете этот метод, не забывайте добавлять проверку на разрядность.
Тестирование проведено на платформе 8.3.11.289.
Источник
1с документ найти по номеру не работает
Дата публикации 06.04.2018
Использован релиз 3.0.59
В программе «1С:Бухгалтерия 8» (ред. 3.0) реализован механизм полнотекстового поиска во всех полях любого справочника, документа, списка и др.:
- Сочетание клавиш «Ctrl и F» автоматически устанавливает курсор в поле «Поиск». Начните набирать текст и поиск будет запущен автоматически.
- По кнопке со значком лупы (или сочетанием клавиш «Alt и F») можно выбрать «Расширенный поиск» и установить параметры поиска (рис. 1).
Если работа поиска по каким-то причинам нарушена, либо осуществляется медленно, рекомендуется очистить индексы и затем обновить их (рис. 2). Эти действия доступны только пользователям с правами «Администратор».
Внимание! При работе через облачные технологии операции по очистке и обновлению индексов выполняются автоматически.
- Раздел: Администрирование – Общие настройки.
- Раскройте подраздел «Полнотекстовый поиск данных» и перейдите по ссылке «Настроить».
- Нажмите кнопку «Очистить индекс». Когда операция выполнится, станет доступной кнопка «Обновить индекс», нажмите ее. Дождитесь выполнения операции и закройте форму.
Для автоматического обновления индексов, быстрой и корректной работы поиска должно быть настроено выполнение двух регламентных заданий – «Обновление индекса ППД» и «Слияние индекса ППД». Обычно эти регламентные задания настроены по умолчанию и выполняются в программе ежедневно по расписанию в автоматическом режиме (например, каждый день с 8.00 каждый час).
Внимание! При работе через облачные технологии регламентные задания выполняются автоматически, их настройка не требуется.
- Раздел: Администрирование – Обслуживание.
- Раскройте подраздел «Регламентные операции» и перейдите по ссылке «Регламентные и фоновые задания».
- В сформированном списке установите флажки у заданий «Обновление индекса ППД» и Слияние индекса ППД».
- Поочередно двойным щелчком мыши откройте каждое задание, перейдите по ссылке «Расписание».
- В форме «Расписание» на закладке «Общее» указываются дата начала и завершения задания и режим повтора.
- На закладке «Дневное» укажите время начала задания и время повтора.
- На закладке «Недельное» и «Месячное» проверьте установку флажков по дням недели и по месяцам.
- Кнопка «ОК», затем кнопка «Записать и закрыть».
Смотрите также
Не пропускайте последние новости — подпишитесь
на бесплатную рассылку сайта:
- десятки экспертов ежедневно мониторят изменения законодательства и судебную практику;
- рассылка бесплатная, независимо от наличия договора 1С:ИТС;
- ваш e-mail не передается третьим лицам;
Источник
Поиск документа по номеру
1С 8.1 УТ ред. 10.3.3.3.
Есть документ ЗаказПокупателя с номером 00000000001, который записан базе MySQL.
iID1C=oRecordset.Fields(«1c_id»).Value;
message(iID1C); //00000000001
aaa=Документы.ЗаказПокупателя.НайтиПоНомеру(iID1C);
message(«!»+aaa.Номер+»!»); //! !
Не находится документ по номеру.
aaa=Документы.ЗаказПокупателя.НайтиПоНомеру(«00000000001»); //тоже не пашет
В чем может быть проблема?
(1) По идее, дату я и не должен указывать, я же хочу найти документ по номеру, не касаясь временных рамок.
(2) не пашет
(3) номера идут ровные, в базу пишу текстом.
Со справочниками все нормально работает, а с документами косяк.
(4).1 Читаем до просветления.
НайтиПоНомеру (FindByNumber)
Синтаксис:
НайтиПоНомеру( , )
Параметры:
(обязательный)
Тип: Число, Строка. Номер искомого документа. Тип передаваемого значения зависит от установки в конфигураторе представления номера документа.
(необязательный)
Тип: Дата. Дата из интервала, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года.
Параметр используется для документов с периодической нумерацией.
Это читал, но дата является необязательным параметром, поэтому его не указывал.
Заказ покупателя всего один.
Поставил дату:
Документ нашелся. Жесть.
Если параметр Дата=ТекущаяДата(), то всегда ли найдется документ по номеру?
Если нет, то как сделать, чтобы документ всегда находился по номеру?
Источник
[1С: УНФ 1.6] Полнотекстовый поиск — не работает!
1С 8.3.7, УНФ (Управление небольшой фирмой, редакция 1.6).
После какого то очередного обновление, заметил, что плохо работает полнотекстовый поиск . Названия номенклатуры находит, контрагентов находит. названия файлов находит. а вот по приходным документам, по заказам и др. документам не ищет.
Пробовал разное:
1. В фоновых заданиях очищал и запускал заново индекс . не помогло.
2. Область поиска задавал по разному.. нет результата.
3. Откатывался на ранее сохраненные базы . аж до версии 1.5 УНФ. Как ни странно.. но там почему то то же поиск работал так же глючно. хотя тогда, все работало как надо. После этого эксперимента, вообще потерял мысли, как такое возможно.
Грешил на платформу.. но после создания чистой базы. внес туда тестовые значения.. — номенклатуру, контрагента, приходные, заказы, оплату. так там все работает как надо. на чистой базе работает. но как тока загрузил в неё сохраненную базу, поиск перестал работать.
Кстати в разделе «Номенклатура» то же как то странно работает поиск. Если задать в простую форму поиска, то не находит ни чего, а если в расширенную, то находит.
Пожалуйста, есть у кого то какие то мысли на этот счёт??
Источник