Найденные решения
(2) Естесно не работает:-) т.к. цикл бесконечный правильно так -
Или лучше так
Сч = 1;
Пока Найти("123456789",Сред(ТаблицаДекларации.НомерСчетаФактуры,Сч,1))=0 Цикл
Сч = Сч +1;
КонецЦикла;
СтрокаНомера = Сред(ТаблицаДекларации.НомерСчетаФактуры,Сч);
Или лучше так
Для Сч = 1 По СтрДлина(ТаблицаДекларации.НомерСчетаФактуры) Цикл
Если Найти("123456789",Сред(ТаблицаДекларации.НомерСчетаФактуры,Сч,1)) <> 0 Тогда
СтрокаНомера = Сред(ТаблицаДекларации.НомерСчетаФактуры,Сч);
Прервать;
КонецЕсли;
КонецЦикла;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Исходя из приведенных вариантов (номер должен начинаться на 1-9):
З.Ы не забываем - платформа 7.7
Эххх, молодежь!
Исходя из приведенных вариантов (номер должен начинаться на 1-9):
Пока Найти("123456789",Лев(СтрокаНомера,1)=0 Цикл
СтрокаНомера=Сред(СтрокаНомера,2)";
Если СтрДлина(СтрокаНомера)=0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
(2) Естесно не работает:-) т.к. цикл бесконечный правильно так -
Или лучше так
Сч = 1;
Пока Найти("123456789",Сред(ТаблицаДекларации.НомерСчетаФактуры,Сч,1))=0 Цикл
Сч = Сч +1;
КонецЦикла;
СтрокаНомера = Сред(ТаблицаДекларации.НомерСчетаФактуры,Сч);
Или лучше так
Для Сч = 1 По СтрДлина(ТаблицаДекларации.НомерСчетаФактуры) Цикл
Если Найти("123456789",Сред(ТаблицаДекларации.НомерСчетаФактуры,Сч,1)) <> 0 Тогда
СтрокаНомера = Сред(ТаблицаДекларации.НомерСчетаФактуры,Сч);
Прервать;
КонецЕсли;
КонецЦикла;
(8)Вынужден спросить :-) какое это имеет значение?, точно не помню (возможно ТЗ)т.к. базы на компе не имею и мне дали тим на 5 мин для исправления кода, задача стояла исправить номер очень быстро, чтобы не отвлекать бухгалтера, Спасибо Вам, что натолкнули на правильное направление.
(12)
Может, потому, что код был рассчитан на обработку переменной, а не реквизита? Если бы об этом было сказано сразу, то решение выглядело бы чуть-чуть иначе:
оптимальное решение.
Спасибо, только автор ветки так не считает - у него, видите ли, "Естесно не работает"...
Может, потому, что код был рассчитан на обработку переменной, а не реквизита? Если бы об этом было сказано сразу, то решение выглядело бы чуть-чуть иначе:
СтрокаНомера=СокрЛП(ТаблицаДекларации.НомерСчетаФактуры);
Пока Найти("123456789",Лев(СтрокаНомера,1)=0 Цикл
СтрокаНомера=Сред(СтрокаНомера,2);
Если СтрДлина(СтрокаНомера)=0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот