Имя: Пароль:
1C
1С v8
Сделать чтоб после ввода штрихкода окно не закрывалось
0 imon4ik
 
10.09.18
21:58
После ввода штрихкода в меню поиска штрихкода в подборе номенклатуры (клавиша F7) окно сразу закріваться и для вібора новой номенклатурі его нужно снова открівать. Как сделать так, что б окно не закрывалось до нажатия кнопки Нет. 1с 8,3.
Помогите пожалуйста.


Результат = РаботаСТорговымОборудованием.ВвестиШтрихкод();

    Если Не ПустаяСтрока(Результат) Тогда
        ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);
        
    КонецЕсли;




Функция ВвестиШтрихкод() Экспорт

   Результат = "";    

    ВвестиСтроку(Результат, "Введите штрихкод");
    
    Возврат Результат;

КонецФункции // ВвестиШтрихкод()
1 PR
 
10.09.18
22:39
Это ты ищешь исполнителя?
2 imon4ik
 
10.09.18
22:41
(1) Ищу помощь. Может кто-то направит меня в нужное русло.
3 imon4ik
 
10.09.18
23:14
Может подскажете как цикл сделать ?
4 Lexey_
 
10.09.18
23:18
(3)
Пока ВвестиСтроку() Цикл

КонецЦикла;
5 imon4ik
 
10.09.18
23:29
(4) Пока ВвестиСтроку ругается (((

Попробовал

ЧислоСтрок = 10;
    Для Сч = 1 По ЧислоСтрок Цикл
    Результат = РаботаСТорговымОборудованием.ВвестиШтрихкод();
        Если Не ПустаяСтрока(Результат) Тогда
        ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);
        КонецЕсли;    

Работает, но делает 10 попыток, как сделать, чтоб окно закрывалось после нажатия "Отмена"
6 Lexey_
 
10.09.18
23:32
(5) "ругается", сделай, чтоб не ругалось
7 Lexey_
 
10.09.18
23:36
(5) "как сделать, чтоб окно закрывалось после нажатия "Отмена""
об этом написано в (4)
8 imon4ik
 
10.09.18
23:47
(7) {ОбщийМодуль.РаботаСТорговымОборудованием.Модуль(174,6)}: Змінна не визначена (ВвестиСтроку)
Пока <<?>>ВвестиСтроку Цикл (Перевірка: Товстий клієнт (звичайна прикладна програма))
9 Lexey_
 
10.09.18
23:52
(8) everything is simple: the variable is not defined, see (4) and look for the differences
10 imon4ik
 
10.09.18
23:57
(9) Сделал Следущие изменения и пишет что Недостаточно фактичесских параметров ВвестиСтроку((( Прошу помочь.


Функция ВвестиШтрихкод() Экспорт
    
    Пока ВвестиСтроку() Цикл

   Результат = "";  
  
    ВвестиСтроку(Результат, "Введите штрихкод");
            Возврат Результат;
    КонецЦикла;

КонецФункции // ВвестиШтрихкод()
11 Lexey_
 
11.09.18
00:01
(10) уже лучше, теперь почитай СП, посмотри свой код в (0) и добавь параметров
12 Lexey_
 
11.09.18
00:03
(10) и зачем 2 раза ВвестиСтроку()?
ты точно понимаешь, что делаешь?
13 imon4ik
 
11.09.18
00:04
(11) Спасибо!
Сделал, чтоб не ругалось. Но Ожидаемый результат не достигнут. При первом вводе штрихкода он не добавляется, при втором добавляется и окно само закрывается.


Функция ВвестиШтрихкод() Экспорт
    

   Результат = "";  
         Пока ВвестиСтроку(Результат, "Введите штрихкод") Цикл
    ВвестиСтроку(Результат, "Введите штрихкод");
            Возврат Результат;
    КонецЦикла;

КонецФункции // ВвестиШтрихкод()
14 imon4ik
 
11.09.18
00:06
(12) Сделал так. Окно закрывается после первого ввода. Результат не достигнут

Функция ВвестиШтрихкод() Экспорт
    

   Результат = "";  
         Пока ВвестиСтроку(Результат, "Введите штрихкод") Цикл
                Возврат Результат;
    КонецЦикла;

КонецФункции // ВвестиШтрихкод()
15 Lexey_
 
11.09.18
00:09
(14) " Возврат Результат;"
так ты выходишь из цикла после первого ввода
16 imon4ik
 
11.09.18
00:14
Уже получается то что хотел, но только после двойного введения штрихкода.


Результат = РаботаСТорговымОборудованием.ВвестиШтрихкод();
Пока ВвестиСтроку(Результат, "Введите штрихкод") Цикл
    Если Не ПустаяСтрока(Результат) Тогда
        ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);
    КонецЕсли;    
КонецЦикла;
17 Lexey_
 
11.09.18
00:18
(16) не делай двойное введение, ты ж сам его написал
18 imon4ik
 
11.09.18
00:20
(15) Если убираю Возврат Результат, то окно действительно не закрывается, но и штрихкод не ищется (
19 Lexey_
 
11.09.18
00:24
(18) ну в (16) убери одну лишнюю строку и всё
20 imon4ik
 
11.09.18
00:30
(19) Убрал, ничего не поменялось (( Я Вам уже надоел, наверное....



Результат = РаботаСТорговымОборудованием.ВвестиШтрихкод();
Пока ВвестиСтроку(Результат, "Введите штрихкод") Цикл
            ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);
                КонецЦикла;
21 Lexey_
 
11.09.18
00:32
(20) жесть...
зачем ты убрал то, что не влияет на открытие диалога ввода строки?
22 imon4ik
 
11.09.18
00:33
(21) Ура! Сделал!!!! Спасибо большое!!!!!


Функция ВвестиШтрихкод() Экспорт
    

    Результат = "";    

        
    Возврат Результат;


КонецФункции // ВвестиШтрихкод()


Процедура КоманднаяПанельТоварыПоискПоШтрихКоду(Кнопка)
        
        Результат = РаботаСТорговымОборудованием.ВвестиШтрихкод();
Пока ВвестиСтроку(Результат, "Введите штрихкод") Цикл
            ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(Результат, ЭтаФорма);
                КонецЦикла;

КонецПроцедуры // КоманднаяПанельТоварыПоискПоШтрихКоду()
23 imon4ik
 
11.09.18
00:34
(21) Спасибо, что учили, а не сделали все за меня! Для меня это урок!!
24 Lexey_
 
11.09.18
00:40
(23) думай дальше, в (22) еще есть лишний код)
25 imon4ik
 
11.09.18
00:51
(24) Я нашел косяк. Это отлично работает в одном документе и убило функцию у остальных документах. Для решения задачи я создал еще одну функцию ВвестиШтрихкодЦиклом и код, который Вы помогли написать вставил туда. Соответсвенно документы у которых нужен новый функционал будут ссылаться на функцию с циклом, а остальные по старому.

Тыкните носом в ошибку.