|
Каждое поле в табличной части | ☑ | ||
---|---|---|---|---|
0
vasiliyegorov
23.05.18
✎
06:08
|
Привет дамы и господа! У меня поля - Дисциплины, в которых не заполнено(выбрано) что-либо из указанного, сообщения выходят на каждое незаполненное поле, мне нужно чтобы пользователю показывало в какой по нумерации поля Дисциплины не заполнено, например:
Не заполнено в поле дисциплины - 1 или 6 Я новичок поэтому могу неправильно выражаться вот скриншот https://drive.google.com/open?id=14i-h_MLwwyGul_BS-SP6yDUbB1coUDK- , я хочу спросить у вас как мне вытащить этот номер в табличной части чтобы его потом куда-нибудь привязать в условие Вот мой проект https://drive.google.com/open?id=1q2XIWnjtaRA3W5KjJ7o_WLpRzmJ4_AVb |
|||
1
vasiliyegorov
23.05.18
✎
06:24
|
Что выбирать СтрокаТЧ.Дисциплины.Код это нумерация?
|
|||
2
vasiliyegorov
23.05.18
✎
06:52
|
Первый скриншот не открывается потому что вы должны (-) дефис тоже захватить с ссылкой, сайт почему-то режит ссылки
|
|||
3
Мимохожий Однако
23.05.18
✎
07:00
|
(2) Используй другие сайты для картинок. На форуме есть примеры удачного размещения картинок. Полезно использовать Ctrl-F1 для изучения методов и свойств используемых объектов.
|
|||
4
vasiliyegorov
23.05.18
✎
07:01
|
(3) Просто первую ссылку надо вставить в своё поле скопировать её с дефисом
|
|||
5
Мимохожий Однако
23.05.18
✎
07:04
|
(4) Я не собираюсь смотреть кривые ссылки. Не хочешь учиться- твоя проблема.
|
|||
6
vasiliyegorov
23.05.18
✎
07:08
|
(5) Я хочу учиться, в синтаксис помощнике не нашел ответа
|
|||
7
фросия
23.05.18
✎
07:12
|
(4) т.е. тебе должны помочь, но тебе лень даже ссылку ровную запостить?
|
|||
8
ПегийЛунь
23.05.18
✎
07:14
|
E-mail скрыт... Ну, ладно.
Сразу пишу код снизу сделан не "кошерно", но смотри суть: &НаСервере Функция ПолучитьКурс(Семестр) // Вставить содержимое обработчика. КурсСеместра = Неопределено; Если (Семестр = Перечисления.Семестры.Семестр1) ИЛИ (Семестр =Перечисления.Семестры.Семестр2) Тогда КурсСеместра = Перечисления.Курсы.Курс1 ИначеЕсли (Семестр = Перечисления.Семестры.Семестр3) ИЛИ (Семестр =Перечисления.Семестры.Семестр4) Тогда КурсСеместра = Перечисления.Курсы.Курс2 ИначеЕсли (Семестр = Перечисления.Семестры.Семестр5) ИЛИ (Семестр =Перечисления.Семестры.Семестр6) Тогда КурсСеместра = Перечисления.Курсы.Курс3 //ИначеЕсли (Семестр = Перечисления.Семестры.Семестр7) ИЛИ (Семестр =Перечисления.Семестры.Семестр8) Тогда // КурсСеместра = Перечисления.Курсы.Курс4 КонецЕсли; Возврат КурсСеместра; КонецФункции &НаКлиенте Процедура ДисциплиныСеместрПриИзменении(Элемент) СеместрИКурс=Элементы.Дисциплины.ТекущиеДанные; ПолученКурс=ПолучитьКурс(СеместрИКурс.Семестр); Если ПолученКурс=Неопределено Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не найдено соответствие курса и семестра."; Сообщение.Поле="Объект.Дисциплины["+(СеместрИКурс.НомерСтроки-1)+"].Семестр"; Сообщение.УстановитьДанные(Объект); Сообщение.Сообщить(); Иначе СеместрИКурс.Курс=ПолученКурс; КонецЕсли; КонецПроцедуры |
|||
9
vasiliyegorov
23.05.18
✎
07:16
|
Вот мой код рабочий, теперь осталось только прикрепить чтобы по нумерации поля выдавал сообщение мол в 3 поле у вас не заполнено, как реализовать еще не знаю, мне бы хотя бы структуру, а дальше я сам бы копался
&НаСервере Процедура РасчетНаСервере() Для Каждого СтрокаТЧ из Объект.Дисциплины Цикл Если СтрокаТЧ.Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ВторойСеместр Тогда СтрокаТЧ.Курс = Перечисления.Курсы.ПервыйКурс ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ЧетвертыйСеместр Тогда СтрокаТЧ.Курс = Перечисления.Курсы.ВторойКурс ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ШестойСеместр Тогда СтрокаТЧ.Курс = Перечисления.Курсы.ТретийКурс ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.СедьмойСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ВосьмойСеместр Тогда СтрокаТЧ.Курс = Перечисления.Курсы.ЧетвертыйКурс ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.ДевятыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ДесятыйСеместр Тогда СтрокаТЧ.Курс = Перечисления.Курсы.ПятыйКурс ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ДвенадцатыйСеместр Тогда СтрокаТЧ.Курс = Перечисления.Курсы.ШестойКурс ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.ТринадцатыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда СтрокаТЧ.Курс = Перечисления.Курсы.СедьмойКурс; КонецЕсли; Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Дисциплины) Тогда Сообщить("Поле дисциплины не заполнено"); КонецЕсли; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура Расчет(Команда) РасчетНаСервере(); КонецПроцедуры |
|||
10
vasiliyegorov
23.05.18
✎
07:17
|
(7) фросия я поменял с mail На гугл диск, чтобы Mail не блокировал, теперь когда я закидываю сюда ссылку от гугла дефисы и нижние подчеркивания если они в конце почему-то выделяются черным и портят ссылку
|
|||
11
vasiliyegorov
23.05.18
✎
07:18
|
(7) Я выше написал, что нужно выделить с дефисом (-) он в конце черный, а ссылка синяя почему-то у сайта такая политика
|
|||
12
фросия
23.05.18
✎
07:23
|
добавь в сообщение номер строки
в строке такой-то не заполнено поле такое-то |
|||
13
catena
23.05.18
✎
07:24
|
Шел третий день, отладчик так и не освоен.
|
|||
14
Мимохожий Однако
23.05.18
✎
07:26
|
(11) Использую ДРУГИЕ сайты для картинок.
|
|||
15
Мимохожий Однако
23.05.18
✎
07:26
|
*используй
|
|||
16
vasiliyegorov
23.05.18
✎
07:28
|
(13) Освоен, я же выше написал СтрокаТЧ.Дисциплины.Код это оно или нет?
|
|||
17
Мимохожий Однако
23.05.18
✎
07:28
|
(6) Посмотри для метода Сообщить и около него нужные параметры. Там есть ответ. "Ищи.. должон быть"© Дед
|
|||
18
Мимохожий Однако
23.05.18
✎
07:28
|
(16) Нет
|
|||
19
catena
23.05.18
✎
07:33
|
(16)А оно меняется в зависимости от того, в какой строке эта дисциплина? А чему оно равно у незаполненной Дисциплины?
|
|||
20
igorPetrov
23.05.18
✎
07:34
|
Он не хочет учится. Совсем. Тупит и опять попрошайничает готовый код. Так миста ему и напишет проект.
|
|||
21
vasiliyegorov
23.05.18
✎
07:35
|
Можете посмотреть на скриншотах У меня документ - УчебныйПлан ТабличнаяЧасть - Дисциплины и поле Дисциплины, получается Объект.Дисциплины.Дисциплины
|
|||
22
vasiliyegorov
23.05.18
✎
07:36
|
(19) не очень понял вас
|
|||
23
фросия
23.05.18
✎
07:41
|
(13) отладчик это читерство
|
|||
24
vasiliyegorov
23.05.18
✎
07:43
|
(23) Вот в моём коде, что я посмотрю отладчиком, чтобы понять как мне сделать это задание? Я знаю как им пользоваться
|
|||
25
craxx
23.05.18
✎
07:49
|
(24) Дисциплина у тебя какого типа? или это слишком сложный вопрос?
|
|||
26
vasiliyegorov
23.05.18
✎
07:51
|
(25) Дисциплины это название моей табличной части, и еще есть дисциплины это поле на скринах можно посмотреть
|
|||
27
vasiliyegorov
23.05.18
✎
07:51
|
(25) Правильно же?
|
|||
28
фросия
23.05.18
✎
07:53
|
(24) посмотрите все
|
|||
29
Мимохожий Однако
23.05.18
✎
07:55
|
(27) нет
|
|||
30
vasiliyegorov
23.05.18
✎
07:55
|
Еще есть справочники - Дисциплины (28)
|
|||
31
vasiliyegorov
23.05.18
✎
07:55
|
(29) А почему неправильно?
|
|||
32
Мимохожий Однако
23.05.18
✎
08:01
|
(31) Потому что не работает
|
|||
33
vasiliyegorov
23.05.18
✎
08:26
|
(32) Я понял это, я не знаю как начать и из чего брать, потому что до этого не встречал это
|
|||
34
ПегийЛунь
23.05.18
✎
08:34
|
Так. e-mail до сих пор не открыт. Сообщение в (8) НЕ прочитано.
Тогда перехожу к иным действиям. Тебе нужно найти книжку: "Радченко. Практическое пособие разработчика." Найти там страницу 849 и прочитать код написанной там процедуры. P.S.: Терпи и учись. Тебе осталось совсем не много, чтобы переплюнуть в знаниях меня. Я тут самый "тупой" из участников. |
|||
35
фросия
23.05.18
✎
08:35
|
(33) посмотри отладчиком все свои переменные- что где хранится и получишь ответы на половину вопросов своих
|
|||
36
Мимохожий Однако
23.05.18
✎
08:37
|
(33) Начни с изучения документации. Как минимум тех методов и объектов, которые начал использовать. Оттуда и бери. Мы все решаем задачи, которые не встречали раньше. Это нормальное положение вещей. Но за тебя искать и кодировать никто не будет. Возможно, тебе лучше быть начальником. Там за тебя будут думать, искать, изучать.
.. Пока я вижу, что ты научился писать. Т.е. писатель. Но не читатель это точно. |
|||
37
vasiliyegorov
23.05.18
✎
08:37
|
(34) [email protected] у меня, но зачем тебе оно?:), я прочитал сообщение и посмотрел твой код, терплю и учусь :), сейчас посмотрю
|
|||
38
vasiliyegorov
23.05.18
✎
08:58
|
(35) Проверил переменные и везде практически пишет:
Объект не является знанием объектного типа |
|||
39
фросия
23.05.18
✎
09:01
|
(38) непонятно
при этом программа работает? |
|||
40
vasiliyegorov
23.05.18
✎
09:02
|
Да
|
|||
41
vasiliyegorov
23.05.18
✎
09:02
|
Посмотрите 2 ссылки выше и там с кодом и общий скрин (39)
|
|||
42
vasiliyegorov
23.05.18
✎
09:04
|
Мне нужно найти свойство строки в которой номер по-моему, где его взять?
|
|||
43
фросия
23.05.18
✎
09:07
|
Мне нужно найти свойство строки в которой номер по-моему, где его взять?
отладчик- посмотрите что у вас есть в тч дисциплины |
|||
44
фросия
23.05.18
✎
09:07
|
вопрос: какой у вас курс?
|
|||
45
vasiliyegorov
23.05.18
✎
09:09
|
(44) на каком курсе учусь?
|
|||
46
vasiliyegorov
23.05.18
✎
09:10
|
Я неправильно юзал отладчик, вот нашел СтрокаТЧ.НомерСтроки, теперь мне надо чтобы когда поле не было заполнено, он выдавал мне сообщение поле не заполнено и номер строки, Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Дисциплины) Тогда
Сообщить("Поле дисциплины не заполнено"); КонецЕсли; вот выдает сообщение, а номер тееперь как сделать не додумываю |
|||
47
FIXXXL
23.05.18
✎
09:11
|
(43) нет там НомерСтроки
а ТСу, что б не страдать, советую ПередЗаписью НаКлиенте обойти циклом ТЧ и сообщить где чего не хватает не надо это делать НаСервере на каждый чих пока документ не пытаются записать или даже провести незаполненные данные не важны |
|||
48
FIXXXL
23.05.18
✎
09:12
|
(46)
Сообщить("Поле дисциплины не заполнено в строке: "+СтрокаТЧ.НомерСтроки); |
|||
49
FIXXXL
23.05.18
✎
09:14
|
(47) сорри, ТЧ и ТЗ попутал :)
|
|||
50
vasiliyegorov
23.05.18
✎
09:15
|
Я сделал, Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Дисциплины) Тогда
Сообщить("В строке номер: " + СтрокаТЧ.НомерСтроки + " Не заполнено поле: Дисциплина!"); КонецЕсли; Господи как это легко, я так по невнимательности пролетел, спасибо ребят за помощь, обожаю вас! |
|||
51
vasiliyegorov
23.05.18
✎
09:16
|
(49) Вот когда я реально додумал, я открываю форум и ты написал правильный вариант пхахахахахаххах, как говориться вовремя!
|
|||
52
Мимохожий Однако
23.05.18
✎
09:17
|
Стриптизы мысли...
|
|||
53
фросия
23.05.18
✎
09:18
|
(51) вовремя- это значит спасибо не надо говорить?
|
|||
54
dezss
23.05.18
✎
09:18
|
ТС в (8) тебе дали очень дельный совет.
Пиши не "Сообщить", а то, что написано в (8), т.е. используй СообщениеПользователю. И когда пользователь тыкнет мышкой на ошибку, ему сразу выделится нужное поле и он сможет его заполнить, а не будет искать вручную во всем документе. |
|||
55
vasiliyegorov
23.05.18
✎
09:25
|
(53) Так я тут, я же написал спасибо ребят за помощь, обожаю вас! К вам тоже относится :)
|
|||
56
vasiliyegorov
23.05.18
✎
09:28
|
(54) Я как в (8) не стал писать потому что мне сказали строго как у меня делать и поэтому я и делал
|
|||
57
ПегийЛунь
23.05.18
✎
09:29
|
Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Дисциплины) Тогда
Сообщить("Поле дисциплины не заполнено"); КонецЕсли; Заменить на Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Дисциплина) Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не заполнена дисциплина"; Сообщение.Поле="Объект.Дисциплины["+(СтрокаТЧ.НомерСтроки-1)+"].Дисциплина"; Сообщение.УстановитьДанные(Объект); Сообщение.Сообщить(); КонецЕсли; |
|||
58
igorPetrov
23.05.18
✎
09:40
|
(56) балбес.
|
|||
59
vasiliyegorov
23.05.18
✎
09:40
|
(57) спасибо большое, но мне надо мой вариант оставить, так сказали, наверное потому что еще зеленый, у меня другое задание, Если не записан семестр и вид испытаний(поля в табличной части), то тогда выводить предупреждение, что не записано поле дисциплины иначе выводить это предупреждение что не заполнен реквизит учебный год, что посоветуете абстрактно как начать правильно это делать
|
|||
60
vasiliyegorov
23.05.18
✎
09:40
|
Вот что у меня получилось (57)
Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Семестр И СтрокаТЧ.ВидИспытаний) Тогда Предупреждение("Поле дисциплины не записано"); ИначеЕсли НЕ ЗначениеЗаполнено(Документ.Реквизиты.Учебныйгод) Тогда Предупреждение("Не заполнен реквизит учебныйгод"); |
|||
61
vasiliyegorov
23.05.18
✎
09:41
|
Я написал Документ.Реквизиты.УчебныйГод просто не знаю как с документа выпилить реквизит
|
|||
62
vasiliyegorov
23.05.18
✎
09:41
|
Вот правильный вроде вариант, проверьте Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Семестр И СтрокаТЧ.ВидИспытаний) Тогда
Предупреждение("Поле дисциплины не записано"); ИначеЕсли НЕ ЗначениеЗаполнено(Документы.УчебныйПлан.УчебныйГод) Тогда Предупреждение("Не заполнен реквизит учебныйгод"); |
|||
63
фросия
23.05.18
✎
09:43
|
(60) неправильно Если СваритьВОднойКастрюле(суп И компот) Тогда
хреновая хозяйка |
|||
64
фросия
23.05.18
✎
09:44
|
так какой курс у вас?
|
|||
65
vasiliyegorov
23.05.18
✎
09:45
|
(63) Я учусь на первом курсе, значит это по отдельности надо сделать?
|
|||
66
vasiliyegorov
23.05.18
✎
09:47
|
(63) Подскажите пожалуйста, как правильно разбить или что мне сделать?
|
|||
67
vasiliyegorov
23.05.18
✎
09:48
|
(63) Кстати с начала работы на форуме, я заметил что у вас самый топовые примеры, они реально очень понятны, я их записываю себе в тетрадь :)
|
|||
68
hhhh
23.05.18
✎
09:48
|
Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Семестр) И НЕ ЗначениеЗаполнено(СтрокаТЧ.ВидИспытаний) Тогда
|
|||
69
vasiliyegorov
23.05.18
✎
09:50
|
(68) Сделал как вы сказали, вышли такие ошибки {Документ.УчебныйПлан.Форма.ФормаДокумента.Форма(67,3)}: Процедура или функция с указанным именем не определена (Предупреждение)
<<?>>Предупреждение("Поле дисциплины не записано"); (Проверка: Сервер) {Документ.УчебныйПлан.Форма.ФормаДокумента.Форма(69,3)}: Процедура или функция с указанным именем не определена (Предупреждение) <<?>>Предупреждение("Не заполнен реквизит учебныйгод"); (Проверка: Сервер) |
|||
70
vasiliyegorov
23.05.18
✎
09:58
|
Просто заменил предупреждение на сообщить и все заработало, но выдало ошибку: Поле Объекта не обнаружено, хотя Документ называется УчебныйПлан и в нем есть реквизит УчебныйГод с чем это может быть связано?
|
|||
71
vasiliyegorov
23.05.18
✎
10:00
|
Вот работает, спасибо еще раз всем, может быть кому-нибудь пригодиться Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Семестр) И НЕ ЗначениеЗаполнено(СтрокаТЧ.ВидыИспытаний) Тогда
Сообщить("Поле дисциплины не записано"); ИначеЕсли НЕ ЗначениеЗаполнено(Объект.УчебныйГод) Тогда Сообщить("Не заполнен реквизит Учебный год"); |
|||
72
hhhh
23.05.18
✎
10:22
|
(70) ну по факту документов Учебный план может быть миллионы в базе. Поэтому она просто не разобралась, какой из них. Ей нужно конкртно ткнуть, а не в общем.
|
|||
73
vasiliyegorov
23.05.18
✎
11:12
|
У меня новое задание, правда я запутался
Получается если не заполнен семестр и вид испытаний, то тогда выводить сообщение что: не записана дисциплина, если она действительно не заполнена. Или же выводить сообщение такое же сообщение если не заполнен реквизит УчебныйГод в документе. |
|||
74
vasiliyegorov
23.05.18
✎
11:12
|
Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Семестр) И НЕ ЗначениеЗаполнено(СтрокаТЧ.ВидыИспытаний) Тогда
Сообщить("Поле дисциплины не заполнено"); ИначеЕсли НЕ ЗначениеЗаполнено(Объект.УчебныйГод) Тогда Сообщить("Поле дисциплины не заполнено"); Вот что я сделал, но у меня неправильно работает, запутался |
|||
75
vasiliyegorov
23.05.18
✎
11:19
|
Получается если семестр и вид испытания не заполнены выводить "Поле дисциплины не заполнено" если оно реально не записано и если реквизит УчебныйГод не заполнен тоже выводить "Поле дисциплины не заполнено"получается если оно реально не заполнено тоже я правильно понял? я просто запутался ппц
|
|||
76
hhhh
23.05.18
✎
11:20
|
(74) а почему ты пишешь, что поле дисциплины? если на самом деле Семестр? Так прикольнее, что ли?
|
|||
77
фросия
23.05.18
✎
11:25
|
(75) распутывайся.
|
|||
78
vasiliyegorov
23.05.18
✎
11:49
|
(76) Я сделал, спасибо (77) , у меня 4 поля курс, семестр, дисциплины и виды испытаний, вот так заработало может быть кому-нибудь пригодиться
Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Семестр) И НЕ ЗначениеЗаполнено(СтрокаТЧ.ВидыИспытаний)И НЕ ЗначениеЗаполнено(СтрокаТЧ.Дисциплины) Тогда Сообщить("Поле дисциплины не заполнено"); ИначеЕсли НЕ ЗначениеЗаполнено(Объект.УчебныйГод) Тогда Сообщить("Поле дисциплины не заполнено"); КонецЕсли; |
|||
79
vasiliyegorov
23.05.18
✎
11:49
|
(77) Прям вселили мотивацию Алина)))
|
|||
80
hhhh
23.05.18
✎
12:02
|
(78) ну так сделай
Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Семестр) Тогда Сообщить("Поле дисциплины ""Семестр"" не заполнено"); КонецЕсли; Если НЕ ЗначениеЗаполнено(СтрокаТЧ.ВидыИспытаний) Тогда Сообщить("Поле дисциплины ""Виды испытаний"" не заполнено"); КонецЕсли; Если НЕ ЗначениеЗаполнено(СтрокаТЧ.Дисциплины) Тогда Сообщить("Поле дисциплины ""Дисциплины"" не заполнено"); КонецЕСли; Если НЕ ЗначениеЗаполнено(Объект.УчебныйГод) Тогда Сообщить("Поле Учебный год не заполнено"); КонецЕсли; чего ты жмешься? Сильно экономный, буквы экономишь? или строчки? |
|||
81
user-ok
23.05.18
✎
14:13
|
(80) А сам? кавычки на Учебном годе зажал
Жадина :D |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |