powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Номер документа
5 сообщений из 5, страница 1 из 1
Номер документа
    #35204528
Abiss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Если не сложно - помогите разобраться с механизмом работы метода "найти"
В целом модуль присваивает номер документу (ном).
Что конкретно она делает в данном фрагменте?

Документ=СоздатьОбъект("Документ.Приход");
Ном=0;
Док.ВыбратьДокументы(ДатаДок,ДатаДок);
Пока Док.ПолучитьДокумент()=1 Цикл
Ф=Найти(Док.НомерДок,"/");
Если Ф<>0 Тогда
Ном1=Число(Прав(Док.НомерДок,СтрДлина(Док.НомерДок)-Ф));
Если Ном1>Ном Тогда
Ном=Ном1;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Ном=Ном+1;

Номера документов имеют вид: 123/1, 123/2, 123/3, ... 123/12 и т.д.
Конфигурация не типовая, 7.7
Остальное вроде поняла....
...
Рейтинг: 0 / 0
Номер документа
    #35204547
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Найти позицию подстроки "/" в строке НомерДок
Отделить значащую часть номера от постфикса
Найти максимальное значение значащей части номера.
Чтобы потом назначить следующий номер в качестве нового.

И все из-за того, что нумерация в 1с заточена только под префиксы.
А нетиповому клиенту понадобилось наоборот.
...
Рейтинг: 0 / 0
Номер документа
    #35204551
ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AbissВсем доброго времени суток!
Если не сложно - помогите разобраться с механизмом работы метода "найти"
В целом модуль присваивает номер документу (ном).
Что конкретно она делает в данном фрагменте?

Документ=СоздатьОбъект("Документ.Приход");
Ном=0;
Док.ВыбратьДокументы(ДатаДок,ДатаДок);
Пока Док.ПолучитьДокумент()=1 Цикл
Ф=Найти(Док.НомерДок,"/");
Если Ф<>0 Тогда
Ном1=Число(Прав(Док.НомерДок,СтрДлина(Док.НомерДок)-Ф));
Если Ном1>Ном Тогда
Ном=Ном1;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Ном=Ном+1;

Номера документов имеют вид: 123/1, 123/2, 123/3, ... 123/12 и т.д.
Конфигурация не типовая, 7.7
Остальное вроде поняла....

Если в номере есть "/" 23/3 и если 3 вообще существует (проверка на номера типа "23/"), то переменной Ном присваивается наибольший номер после "/" из всей выборки документов.
...
Рейтинг: 0 / 0
Номер документа
    #35204555
ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно похоже на создание суффиксов... но зачем искать с начала, если принять что номера только увеличиваются?
...
Рейтинг: 0 / 0
Номер документа
    #35205437
Abiss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Номера документов имеют вид: 123/1, 123/2, 123/3, ... 123/12 и т.д.
Спасибо всем за ответы! Все становится на свои места! :)
- Pail
Вы правы! там еще префиксы буквенные стоят, я их просто не обозначила.
- ПЖ
Дело в том, что перед циклом там еще идет отбор документов, т.к. приходы разного типа - просто приход товара от поставщика, возврат, перемещение и т.п. Поэтому нумерация каждого типа прихода своя.

ВСЕМ БОЛЬШОЕ СПАСИБО! :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Номер документа
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]