|
РежимДиалогаВопрос.ДаНет | ☑ | ||
---|---|---|---|---|
0
ZADR
25.03.13
✎
13:09
|
Как через РежимДиалогаВопрос.ДаНет поставить условие? типо к примеру:
Ответ = Вопрос("Продолжить создание документа?",РежимДиалогаВопрос.ДаНет ); Если Ответ = КодВозвратаДиалога.Нет Тогда Возврат; Иначе "" КонецЕсли; |
|||
1
ZADR
25.03.13
✎
13:10
|
Если я так пишу то программа при запуске выводит сообщение и при любом ответе выполняет операцию создания документа. Что делать?
|
|||
2
YAGolova
25.03.13
✎
13:11
|
А где ты так пишешь?
|
|||
3
ZADR
25.03.13
✎
13:11
|
В процедуре
|
|||
4
ZADR
25.03.13
✎
13:11
|
Как правильно написать код? подскажите...
|
|||
5
Фокусник
25.03.13
✎
13:12
|
(1) Скорее всего создание документа происходит вне этой процедуры/функции (из которой ты выходишь через "Возврат").
|
|||
6
YAGolova
25.03.13
✎
13:13
|
(4) Полный код пиши, что за процедура, где этот кусок вставлен
|
|||
7
ZADR
25.03.13
✎
13:14
|
весь код программы у меня в одной процедуре, и именно этот код он в начале, я хочу при запускании программы выводило это сообщение(предупреждение)... Если нет то прога чтобы остановилась... Если да то продолжила...
|
|||
8
Privalov
25.03.13
✎
13:19
|
(7) Ты внимательно перечитай, какую кашу здесь написал, сам-то понял что сказать хотел?
|
|||
9
Reset
25.03.13
✎
13:21
|
deja-vu
Совсем недавнео была тема, там создали реквизит Ответ - булевый, соотв Ответ всегда был ложь |
|||
10
Privalov
25.03.13
✎
13:22
|
(7) Код давай.
|
|||
11
ZADR
25.03.13
✎
13:26
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Ответ = Вопрос("Продолжить создание документа?",РежимДиалогаВопрос.ДаНет ); Если Ответ = КодВозвратаДиалога.Нет Тогда Возврат; Иначе "" КонецЕсли; ПодключитьРасширениеРаботыСФайлами(); Режим = РежимДиалогаВыбораФайла.Открытие; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла = ""; Фильтр = "Таблица(*.xls)|*.xls"; ДиалогОткрытияФайла.Фильтр = Фильтр; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = "Выберите файл Excel"; Если ДиалогОткрытияФайла.Выбрать() Тогда ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла; Иначе Возврат; КонецЕсли; Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ПутьКФайлу); ExcelЛист = Excel.Sheets(1); Исключение Сообщить("Ошибка при открытий MS Excel!"); Возврат; КонецПопытки; // максимальное количество строк и столбцов КоличествоЛистов = Excel.Sheets.Count; Лист = Excel.WorkSheets(1); ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column; ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; // создание документа и заполнение шапки Для Строка = 2 по ВсегоСтрок цикл ДокОпераций1 = документы.ПоступлениеТоваров.СоздатьДокумент(); ДокОпераций1.Дата = ЭлементыФормы.ПолеВвода1.Значение; спрОрганизация = справочники.Организации.НайтиПоКоду("000000004"); ДокОпераций1.Организация = спрОрганизация; спрКонтрагенты = справочники.Контрагенты.НайтиПоКоду("000000241") ; ДокОпераций1.Контрагент = спрКонтрагенты; Договор = ExcelЛист.Cells(2,10).Value; ДокОпераций1.ДоговорКонтрагента = Договор; //добавление строки шаг1 = ДокОпераций1.Услуги.Добавить(); спрНоменклатура = справочники.Номенклатура.НайтиПоКоду("Н0000000607"); шаг1.Номенклатура = спрНоменклатура; шаг1.Количество = "1"; шаг1.Цена = ExcelЛист.Cells(2,9).Value; спрНДС = справочники.СтавкиНДС.НайтиПоКоду("0AKG00002"); шаг1.СтавкаНДС = спрНДС; ДокОпераций1.ОтражатьВУправленческомУчете = Истина; ДокОпераций1.ОтражатьВБухгалтерскомУчете = Истина; ДокОпераций1.УчитыватьНДС = Истина; ДокОпераций1.Записать(); //КонецЦикла; Excel.Quit(); КонецПроцедуры |
|||
12
ZADR
25.03.13
✎
13:27
|
(10)Вот код
|
|||
13
Privalov
25.03.13
✎
13:32
|
Документ создается где-то еще.
|
|||
14
Reset
25.03.13
✎
13:32
|
(11) Добавь в начало процедуры (в самое начало, перед всем кодом)
Сообщить(Отказ); и нажми Ctrl-F7 Если скажет что ошибок нет, то см (9) |
|||
15
Privalov
25.03.13
✎
13:32
|
И пройди отладчиком и посмотри свои значения.
|
|||
16
НафНаф
25.03.13
✎
13:33
|
что за х?
Иначе "" КонецЕсли; |
|||
17
cw014
25.03.13
✎
13:33
|
Диалог просто убил:
(2) А где ты так пишешь? (3) В процедуре Наверное это процедура, который отчет формирует, а тут внезапно начала создавать документ. :))) |
|||
18
ZADR
25.03.13
✎
13:34
|
(14) {Форма.Форма.Форма(3,1)}: Определения процедур и функций должны размещаться перед операторами тела модуля
<<?>>Процедура КнопкаВыполнитьНажатие(Кнопка) (Проверка: Толстый клиент (обычное приложение)) |
|||
19
Reset
25.03.13
✎
13:34
|
(14) ага, глупый тест в свете (16)
|
|||
20
Reset
25.03.13
✎
13:34
|
(18) Я сказал в начало процедуры, а не перед ней :)
|
|||
21
Privalov
25.03.13
✎
13:35
|
(18) Написано - "Добавь в начало процедуры"!! Ты еще и читать не умеешь?
|
|||
22
Reset
25.03.13
✎
13:36
|
(14) Только
Сообщить(Ответ) конечно же, а не Отказ |
|||
23
Reset
25.03.13
✎
13:38
|
(18)
Процедура КнопкаВыполнитьНажатие(Кнопка) Сообщить(Ответ); Сообщить(ТипЗнч(Ответ)); Ответ = Вопрос("Продолжить создание документа?",РежимДиалогаВопрос.ДаНет ); Если Ответ = КодВозвратаДиалога.Нет Тогда Возврат; Иначе //"" КонецЕсли; // остальная фигня ... |
|||
24
ZADR
25.03.13
✎
13:45
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Сообщить(Ответ); Сообщить(ТипЗнч(Ответ)); Ответ = Вопрос("Продолжить создание документа?",РежимДиалогаВопрос.ДаНет ); Если Ответ = КодВозвратаДиалога.Нет Тогда Возврат; Иначе //"" КонецЕсли; Если пишу так то выходит ошибка:{Форма.Форма.Форма(7,10)}: Переменная не определена (Ответ) Сообщить(<<?>>Ответ); (Проверка: Толстый клиент (обычное приложение)) {Форма.Форма.Форма(8,17)}: Переменная не определена (Ответ) Сообщить(ТипЗнч(<<?>>Ответ)); (Проверка: Толстый клиент (обычное приложение)) |
|||
25
НафНаф
25.03.13
✎
13:45
|
Ответ = Вопрос("Продолжить создание документа?",РежимДиалогаВопрос.ДаНет );
Сообщить(Ответ); Сообщить(ТипЗнч(Ответ)); |
|||
26
ZADR
25.03.13
✎
13:47
|
(25) а вот так работает... ВСЕМ СПАСИБО!
|
|||
27
Фокусник
25.03.13
✎
13:48
|
(24) Осваиваешь программирование "методом тыка"? :)
|
|||
28
ZADR
25.03.13
✎
13:50
|
=)
|
|||
29
orefkov
25.03.13
✎
13:57
|
РежимДиалогаВопрос.ДаНетНаверное
|
|||
30
mikecool
25.03.13
✎
13:59
|
(26) вот так вот простое Сообщить() решает все вопросы
|
|||
31
samozvanec
25.03.13
✎
14:05
|
я так и не понял, что поменялось...
|
|||
32
Privalov
25.03.13
✎
14:12
|
(31) ))))
+100 |
|||
33
Reset
25.03.13
✎
14:18
|
(31) (32)
Думаю, появился комментарий перед этим: //"" |
|||
34
Фокусник
25.03.13
✎
14:20
|
(33) Без этого не пройдет синтакс-контроль, а значит код из (0) - не копипаста, а вольная трактовка :)
|
|||
35
Reset
25.03.13
✎
14:22
|
(34) Именно так, то что выдавалось неправильно работающий код в (0), на самом деле не доходило даже до сохранения.
А работал некий произвольный код, о котором нам ничего не известно. После исправления синтаксической ошибки стал работать код из (0) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |