|
Подскажите по управляемой форме | ☑ | ||
---|---|---|---|---|
0
егаис
19.10.11
✎
17:20
|
Новый документ Чек ККМ. После сканирования ШК товар заносится в таблицу Товары. Есть еще поле "Серийный номер", которое также должно заполняться с помощью сканера (условие обрабатывается дополнительно).
Т.е. объект не записан, но элементы формы заполнены. Подскажите, плиз, как добавить значение в реквизит ТЧ "серийный номер". Мучаю через Элементы.Товары, но не пойму как установить значение. Спасибо |
|||
1
егаис
19.10.11
✎
17:22
|
Если Элементы.Товары.ТекущаяСтрока <> Неопределено Тогда
Элементы.Товары.СерийныйНомер = ТекКод; КонецЕсли; так ошибка |
|||
2
егаис
19.10.11
✎
17:27
|
хелп плиз
|
|||
3
Юрий Лазаренко
19.10.11
✎
17:30
|
(0) Объект.Товары
|
|||
4
егаис
19.10.11
✎
17:34
|
это коллекция
так малость продвинулся ) объект.товары.найтистроки(Новый структура("НомерСтроки",Элементы.Товары.ТекущаяСтрока+1)) Но это массив. Как непосредственно записать реквизит? |
|||
5
егаис
19.10.11
✎
17:36
|
во
объект.товары.Получить(Элементы.Товары.ТекущаяСтрока) |
|||
6
егаис
20.10.11
✎
09:33
|
Доброе утро
Подскажите, плиз, еще по такому вопросу. В Рознице 2 в документе "Чек" отдельно разнесены "Провести" и "Пробить чек" Хотелось бы упростить жизнь кассирам и вызывать функцию проведения из модуля формы перед пробитием чека. Как вызвать функцию проведения объекта в модуле? Спасибо |
|||
7
hatsher
20.10.11
✎
09:36
|
(6) Объект.Провести
|
|||
8
егаис
20.10.11
✎
09:38
|
(7) разве так можно?
|
|||
9
егаис
20.10.11
✎
09:44
|
ап
|
|||
10
Рэйв
20.10.11
✎
09:48
|
мСтрок=объект.товары.найтистроки(Новый структура("НомерСтроки",Элементы.Товары.ТекущаяСтрока+1))
ДляКаждого Эл Из мСтрок Цикл Эл.СерийныйНомер=КакойтоНомер; КонецЦикла; |
|||
11
егаис
20.10.11
✎
09:50
|
(10) Рэйв, по сабжу решил
чтобы ветки не плодить, пишу здесь же Актуально (6) |
|||
12
Рэйв
20.10.11
✎
09:57
|
(11)Объект.Провести()
|
|||
13
Рэйв
20.10.11
✎
09:59
|
+я не помню как точно в УФ
возможно что-то типа Объект.Записать(РежимЗаписиДокумента.Проведение) |
|||
14
Ranger_83
20.10.11
✎
10:01
|
Просто Записать()
|
|||
15
егаис
21.10.11
✎
10:02
|
еще вопрос:)
выбор файла xls в управляемом приложении Делаю при начале выбора ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогВыбораФайла.Заголовок = "Выберите файл"; ДиалогВыбораФайла.ПредварительныйПросмотр = Ложь; Текст = "ru = ""MS Excel""; en = ""MS Excel"""; ДиалогВыбораФайла.Фильтр = НСтр(Текст) + "(*.xls)|*.xls"; Если ДиалогВыбораФайла.Выбрать() Тогда Файл = Новый Файл(Элемент.Значение); Элемент.Значение = ДиалогВыбораФайла.ПолноеИмяФайла; КонецЕсли; выводит окно с текстом "" |
|||
16
егаис
21.10.11
✎
14:43
|
по тому что выше все ок
Есть еще вопрос, как надо извариться чтобы вывести в ТЧ документа в доп.колонку разницу между 2-мя другими колонками. Т.е. есть колонка "Кол по документу", "Кол факт" - это реквизиты Таблицы "Товары". Кол по документу заполняется из экселя, по факту - сканером. Также есть колонка "Разница" - поле ввода, как там отразить разницу между двумя колонками? Понимаю что через элементы формы, подките примерчик Спасибо. |
|||
17
егаис
21.10.11
✎
14:48
|
в какой предопределенной функции описывается сие?
Сильно не пинайте, изучаю УФ на практике ) |
|||
18
егаис
21.10.11
✎
14:54
|
ап
|
|||
19
rotting
21.10.11
✎
15:02
|
||||
20
rotting
21.10.11
✎
15:03
|
(19) по предыдущему воросу, не увидел что решил, сорри
|
|||
21
егаис
21.10.11
✎
15:04
|
это уже не нужно, спасибо
по (16) я так понимаю расчет надо отрабатывать в нескольких событиях "чтение на сервере, при изменении количества" Так? |
|||
22
rotting
21.10.11
✎
15:05
|
Элементы.Товары.ТекущиеДанные.Разница = -Элементы.Товары.ТекущиеДанные.КоличествоУчет + Элементы.Товары.ТекущиеДанные.КоличествоФакт;
|
|||
23
егаис
21.10.11
✎
15:06
|
это-то ясно
Впихивать в разные события? изврат какой-то... |
|||
24
rotting
21.10.11
✎
15:07
|
Ну напиши одну процедуру для нескольких событий, а потом вызывай из событий её, в чем проблема?
|
|||
25
егаис
21.10.11
✎
15:11
|
не, все равно изврат
судя по ошибке, процедуру описываем на клиенте... |
|||
26
rotting
21.10.11
✎
15:20
|
(25) Да в чем изврат то? Интересно просто. Как ты хотел?
|
|||
27
егаис
21.10.11
✎
15:22
|
бррр, что-то я запутался (
Если создать реквизит "Разница", то не проблема. Вот с полем ввода не разберусь. & На Сервере ПриЧтенииНаСервере Не отрабатываеся клиентская функция |
|||
28
егаис
21.10.11
✎
15:29
|
Элементы.Товары.ТекущиеДанные не видны на сервере.
Может я что-то не то делаю? |
|||
29
егаис
21.10.11
✎
15:31
|
стоп, если передать форму.
Минуту... |
|||
30
vmv
21.10.11
✎
15:52
|
(28) Элементы формы никогда не видны на сервере в чистом виде - это первой, что нужно зарубить на носу.
РеквизитФормыВЗначение(), ДанныеФормыВЗначение() и обратные им методы в помощь и забудьте про НайтиСтроки, передачу деревазначений его строк, если это клиент. Просто нужно организовать грамотную передачу управления между дуплексом "На сервере модифицировал значение - На клиенте показал его как элемент формы". В мозгах организовать |
|||
31
егаис
21.10.11
✎
15:52
|
делал так
Процедура ПриЧтенииНаСервере(ТекущийОбъект) ... ОбработкаТабличнойЧастиТоварыКлиентСервер.Рассчитать Разницу Количества(Объект.Товары, ЭтаФорма); КонецПроцедуры в общем модуле Процедура Рассчитать Разницу Количества(Знач Товары, Знач Форма) Экспорт ... КонецПроцедуры // ОбновитьСуммыПодвала() невозможно прочитать форма.элементы.товары.ТекущиеДанные - ошибка чтения значения Комрады,подскажите, как решить вопрос (( |
|||
32
егаис
21.10.11
✎
15:56
|
чувствую, проще реквизит повесить
|
|||
33
vmv
21.10.11
✎
15:57
|
(31) хрень, чесно говоря. Привыкайте писать в выкладках кода директивы исполнения методов &НаСервере, &НаСервере, а то толкового совета не услышите.
Не передавайте в параметрах составное значение, например Объект.Товары И сразу пишите под тонкий, то все, что работает только в толстом - в топку без аппеляция для ПРИКЛАДНЫХ задач. Пока все, без чтения вам глав СП "Управляемая форма" диспут будет длинным и бесполезным. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |