Имя: Пароль:
1C
1С v8
Проверка нумерация СФ УТ 10.3
0 nvhost
 
25.06.14
20:17
Ребят помогите с механизмом, есть идея вычитать из предыдущего номера текущий номер, но как релизовать не разберусь, в выборке запроса предыдущего нет, есть только следующий, вызрузить В ТЗ?
1 Hans
 
25.06.14
20:42
задача как звучит?
2 nvhost
 
25.06.14
20:50
Проверка Нумерации СчетФактур, запрос получаю все СФ, Дальше нужно взять каждый номер 1,2,3,4,6,8,11 - из этого списка видно что номер 5 пропущен, пропущен номер 7, 9 и 10, набо сообщить об этом оператору
То есть Если ТекущийНомер - Предыдущий >=1 Тогда
Сообщить(Пропущен номер: 5)
Вот тут еще не понятно если два номер пропущено...
3 arccos6pi
 
25.06.14
21:00
я это вижу как-то так
Предыдущий = 0;
Пока РезультатЗапроса.Следующий() Цикл
    Если РезультатЗапроса.Номер - Предыдущий > 1 Тогда
        Для Сч = 1 По РезультатЗапроса.Номер - Предыдущий Цикл
            Сообщить("Пропущен " + (РезультатЗапроса.Номер + Счетчик));
        Сч = Сч + 1;
    КонецЦикла;
        Предыдущий = РезультатЗапроса.Номер;
    КонецЕсли;
КонецЦикла;
4 arccos6pi
 
25.06.14
21:09
лоханулся, Предыдущий = РезультатЗапроса.Номер; перед последним КонецЦикла
5 arccos6pi
 
25.06.14
21:13
опять косячу,спешу
Сообщить("Пропущен " + (Предыдущий + Счетчик));
6 arccos6pi
 
25.06.14
21:16
да что такое
счетчик= сч
7 nvhost
 
26.06.14
15:53
Пасибо больше очень помогли!Позже представлю рабочий код
8 nvhost
 
04.07.14
23:54
Вот рабочий код

Пока РезультатЗапроса.Следующий() Цикл
        ЧислоПропущенных = Число(Прав(РезультатЗапроса.Номер,5)) - Предыдущий;
        Если ЧислоПропущенных > 1 Тогда
        Для Сч = 1 По ЧислоПропущенных Цикл
            НомерПропущенЧисло= Число(Прав(РезультатЗапроса.Номер,5)) - ЧислоПропущенных;
            НомерПропущенСтрока = Лев(ПредыдущийНомер,6) + Строка(НомерПропущенЧисло);
            Стр = ТабличноеПоле1.Добавить();
            Стр.Номер = НомерПропущенСтрока;
            ЧислоПропущенных = ЧислоПропущенных -1;
        КонецЦикла;
        Стр = ТабличноеПоле1.Добавить();
        Стр.СчетФактура = РезультатЗапроса.Ссылка;

КонецЕсли

Но задача усложнилась, помогите решить....вообщем надо за день находить неправельные номре, например если исползовались номер 1 по 49 СФ в этот день вдруг попалась 235, надо об этом сказать оператору...в голову ниче не идет
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn