|
v8: При нажатии на кнопку Заполнить". | ☑ | ||
---|---|---|---|---|
0
fenlork
25.07.13
✎
13:33
|
Есть РС"В каком классе ученик"-там есть заполненные строки(период,класс,ученик), есть документ-Перевод ученика, с полем реквизита"Класс" и ТЧ-Ученики".Нужно создать кнопку"Заполнить" и при выборе класса, процедура нажатия на кнопку должна брать данные из регистра сведения и подставлять ученика.
|
|||
1
maksim358
25.07.13
✎
13:34
|
а в чем вопрос?
|
|||
2
fenlork
25.07.13
✎
13:34
|
Как правильно написать запрос обращения в рс
|
|||
3
ДенисЧ
25.07.13
✎
13:34
|
Благословляю.
|
|||
4
IШаман
25.07.13
✎
13:34
|
Сколько платишь?
|
|||
5
cw014
25.07.13
✎
13:35
|
(1) Он хвастается
|
|||
6
Apokalipsec
25.07.13
✎
13:35
|
надо создать не кнопку, а обработку заполнения ТЧ наверное?
|
|||
7
fenlork
25.07.13
✎
13:35
|
Процедура ЗаполнитьНажатие(Элемент)
ТЧ=ЭтотОбъект.Ученики; //получитить учеников в текущем классе Для Каждого ТекСтрокаТЧ Из ТЧ Цикл Если ЗначениеЗаполнено(ЭтотОбъект.Класс) Тогда Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ВКакомКлассеУченик.Ученик, | |ИЗ | РегистрСведений.ВКакомКлассеУченик(&период) КАК Ученик |{ГДЕ | Ученики.Класс=&Класс |СГРУППИРОВАТЬ ПО"; Запрос.УстановитьПараметр("Класс",Класс); Запрос.УстановитьПараметр("период",Дата); Результат = Запрос.Выполнить().Выгрузить(Результат); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
8
fenlork
25.07.13
✎
13:36
|
Да-надо заполнить ТЧ документа(
|
|||
9
Капитан О
25.07.13
✎
13:36
|
за запрос в цикле бьют линейкой по рукам, прямо не поднимая с гороха
|
|||
10
Капитан О
25.07.13
✎
13:37
|
(8) что планируешь делать?
|
|||
11
fenlork
25.07.13
✎
13:37
|
у меня вообще беда с переменными-учусь еще
|
|||
12
cw014
25.07.13
✎
13:39
|
(11) Куда и что нужно подставлять? Что ты заполняешь? И какие вообще там данные есть?
|
|||
13
cw014
25.07.13
✎
13:41
|
Процедура ЗаполнитьНажатие(Элемент)
Запрос=Новый Запрос("ВЫБРАТЬ | ВКакомКлассеУченик.Ученик, |ИЗ | РегистрСведений.ВКакомКлассеУченик(&период) КАК Ученик |ГДЕ | Ученики.Класс=&Класс"); Запрос.УстановитьПараметр("Класс",Класс); Запрос.УстановитьПараметр("период",Дата); Ученики.Загрузить(Запрос.Выполнить().Выгрузить()); КонецПроцедуры |
|||
14
cw014
25.07.13
✎
13:41
|
| ВКакомКлассеУченик.Ученик,
убери в конце запятую |
|||
15
cw014
25.07.13
✎
13:42
|
Процедура ЗаполнитьНажатие(Элемент)
Запрос=Новый Запрос("ВЫБРАТЬ | ВКакомКлассеУченик.Ученик |ИЗ | РегистрСведений.ВКакомКлассеУченик(&период) КАК ВКакомКлассеУченик |ГДЕ | ВКакомКлассеУченик.Класс = &Класс"); Запрос.УстановитьПараметр("Класс",Класс); Запрос.УстановитьПараметр("период",Дата); Ученики.Загрузить(Запрос.Выполнить().Выгрузить()); КонецПроцедуры |
|||
16
cw014
25.07.13
✎
13:42
|
Вот так правильно
|
|||
17
fenlork
25.07.13
✎
13:43
|
О,Боже..кажется мне нужен сенсей..подскажите что учить
|
|||
18
fenlork
25.07.13
✎
13:43
|
прям основы из основ
|
|||
19
Apokalipsec
25.07.13
✎
13:45
|
(18) для начала - НЕ делай это кнопкой.
http://itprovince.blogspot.ru/2009/11/blog-post_27.html |
|||
20
cw014
25.07.13
✎
13:45
|
(18) Что тебе неясно? Учение небесплатное
|
|||
21
maksim358
25.07.13
✎
13:47
|
про фильтры почитай
|
|||
22
fenlork
25.07.13
✎
13:48
|
может начать с другого языка, что бы понять суть составления алгоритмов?
|
|||
23
cw014
25.07.13
✎
13:49
|
(22) Если ты даже сути составления алгоритмов не знаешь - тогда отойди от компьютера и позови специалиста
|
|||
24
IШаман
25.07.13
✎
13:49
|
(17) Это еще дороже чем просто сделать.
|
|||
25
maksim358
25.07.13
✎
13:49
|
Фильтр = Новый Структура;
Фильтр.Вставить("Ученик", Ученик); Сведения = РегистрыСведений.ВКакомКлассеУченик.ПолучитьПоследнее(Дата, Фильтр); Строка.Класс= Сведения.Класс; вот что то такое |
|||
26
Капитан О
25.07.13
✎
13:50
|
(25) надеюсь, это всё в цикле?
|
|||
27
Капитан О
25.07.13
✎
13:50
|
(22) начни с подачи документов в вуз, ещё не поздно
|
|||
28
cw014
25.07.13
✎
13:51
|
(25) Ему учеников по классу выбрать надо. А их несколько. Да и к тому же фильтр должен содержать все измерения
|
|||
29
fenlork
25.07.13
✎
13:54
|
А чего еще в этой процедуре не хватает?
|
|||
30
cw014
25.07.13
✎
13:54
|
(29) Знаний
|
|||
31
maksim358
25.07.13
✎
13:55
|
(26) (28)а да. не до конца понял задачу.
|
|||
32
fenlork
25.07.13
✎
13:55
|
получить результат и подставить в ТЧ документа?
|
|||
33
Zerg80
25.07.13
✎
13:58
|
(0) - вон в (15) же написано все, чего тебе нехватает? И да, название РС - зач0д
|
|||
34
cw014
25.07.13
✎
13:59
|
(32) В (15) все хватает. Если конечно там нет каких либо еще условий, о которых ты не говоришь
|
|||
35
Ненавижу 1С
гуру
25.07.13
✎
13:59
|
никогда не понимал этого, ну очевидно, что 99.99% не останутся на второй год, ну 1% может уйти из этой школы и переехать, остальные паровозом каждый год идут в СЛЕДУЮЩИЙ класс, так может проще отражать те самые 1.01% отклонений?
|
|||
36
IBTM
25.07.13
✎
14:09
|
(35) те самые 00,01%)
|
|||
37
fenlork
25.07.13
✎
14:12
|
открываю Предприятие, создаю докПеревод-выбираю в поле реквизит Класс, который ссылается на справочник,в ТЧ-добавляю строку-нажимаю кнопку Заполнить-выкидывает с ошибкой в модуле-"Ошибка при вызове метода контекста(Выполнить)..
|
|||
38
Капитан О
25.07.13
✎
14:12
|
(37) и далее по тексту всё нужное для разрешения
|
|||
39
Капитан О
25.07.13
✎
14:13
|
рано автора в пофигуратор пустили
|
|||
40
fenlork
25.07.13
✎
14:15
|
Ученики.Загрузить(Запрос.Выполнить().Выгрузить());-ругаеться на эту строчку
|
|||
41
Капитан О
25.07.13
✎
14:16
|
(40) читай текст ошибки до полного просветления
|
|||
42
cw014
25.07.13
✎
14:17
|
(37) Нажми кнопку "Подробнее" и полный текст ошибки. И еще - если у тебя заполнение ТЧ - зачем ты туда руками строку добавляешь?
|
|||
43
fenlork
25.07.13
✎
14:27
|
{Документ.ПереводВДругойКласс.Форма.ФормаДокумента.Форма(16)}: Ошибка при вызове метода контекста (Выполнить)
Ученики.Загрузить(Запрос.Выполнить().Выгрузить()); по причине: {(4, 5)}: Нельзя задавать параметры для таблицы "РегистрСведений.ВКакомКлассеУченик" <<?>>РегистрСведений.ВКакомКлассеУченик(&период) КАК ВКакомКлассеУченик |
|||
44
Капитан О
25.07.13
✎
14:28
|
(43) перевожу. твой РС не является периодическим, что за хню ты от меня хочешь?
|
|||
45
fenlork
25.07.13
✎
14:32
|
периодичность-в пределах секунды
|
|||
46
Капитан О
25.07.13
✎
14:33
|
перевожу правильно. какие-такие параметры в реальной таблице ты от меня хочешь?
|
|||
47
cw014
25.07.13
✎
14:47
|
(43)(45) Потому что ты косячков и я пропустил
РегистрСведений.ВКакомКлассеУченик.СрезПоследних(&период) |
|||
48
fenlork
25.07.13
✎
14:55
|
проблема осталась
|
|||
49
cw014
25.07.13
✎
14:56
|
(48) Вообще вот так должно быть:
ВЫБРАТЬ | ВКакомКлассеУченик.Ученик |ИЗ | РегистрСведений.ВКакомКлассеУченик.СрезПоследних(&период, Класс = &Класс) КАК ВКакомКлассеУченик Если проблема осталась, ошибка в студию |
|||
50
fenlork
25.07.13
✎
15:38
|
вот теперь работает
Процедура ЗаполнитьНажатие(Элемент) Запрос1=Новый Запрос("ВЫБРАТЬ | ВКакомКлассеУченик.Ученик КАК Ученики |ИЗ | РегистрСведений.ВКакомКлассеУченик.СрезПоследних(&период,) КАК ВКакомКлассеУченик |ГДЕ | ВКакомКлассеУченик.Класс = &Класс"); Запрос1.УстановитьПараметр("Класс",Класс); Запрос1.УстановитьПараметр("период",Дата); Ученики.Загрузить(Запрос1.Выполнить().Выгрузить()); КонецПроцедуры |
|||
51
Капитан О
25.07.13
✎
15:56
|
(50) не за что
|
|||
52
Капитан О
25.07.13
✎
15:57
|
мало идиотского названия регистра, так ещё и измерение во множественном числе
|
|||
53
Капитан О
25.07.13
✎
15:57
|
(52) *реквизит ТЧ
|
|||
54
cw014
25.07.13
✎
16:04
|
(50) с тебя пиво
|
|||
55
cw014
25.07.13
✎
16:04
|
+(50) мне и кэпу
|
|||
56
fenlork
25.07.13
✎
16:24
|
названия-не мои
|
|||
57
Капитан О
25.07.13
✎
16:32
|
(56) всё равно на здоровье
|
|||
58
fenlork
25.07.13
✎
16:38
|
Спасибо большое)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |