Имя: Пароль:
1C
1С v8
Незаполненное поле с сообщением
,
0 vasiliyegorov
 
22.05.18
11:13
Добрый день, друзья! У меня на форме есть поле Дисциплина. Мне нужно сделать так, чтобы когда оно не было заполнено, у меня выходило сообщение: Поле не заполнено, подскажите как реализовать, я новичок.

https://drive.google.com/open?id=1myk3tYk6LTe7h1t4jwJN-d6xajnzQrs_

Как я понял нужно сделать цикл
Если ПолеДисциплины Тогда //То есть истина потому что не заполнено поле
ПолеДисциплины = "Поле не заполнено";
КонецЕсли;
Подскажите как правильно сделать пожалуйста, заранее спасибо
1 igorPetrov
 
22.05.18
11:14
(0) Ты начал доставать всех. Пиши сам уже. Тебе же нужно.
2 igorPetrov
 
22.05.18
11:15
Даже ссылку на картинку опять не правильно сделал. Бесполезный работник.
Ответь - закончил школу?
3 vasiliyegorov
 
22.05.18
11:15
Неправильно написал: Вместо ПолеДисциплины = "Пока не заполнено" написать Сообщить:"Поле не заполнено"
4 vasiliyegorov
 
22.05.18
11:17
5 vasiliyegorov
 
22.05.18
11:17
Нижнее подчеркивание почему-то выделяется черным и поэтому при открытии выдаёт ошибку
6 igorPetrov
 
22.05.18
11:19
(4) молодец ))))
7 igorPetrov
 
22.05.18
11:20
(0) Вместо "Подскажите как правильно сделать пожалуйста", следует читать "сделайте за меня, быстро"
8 catena
 
22.05.18
11:28
Мы тебе поможем, тебя переведут из стажеров в специалисты, ты начнешь работать с клиентами и вредить им. Что негативно повлияет на мнение о сообществе 1с-ников в целом. Так что, не вводи работодателя в заблуждение, показывай свой реальный уровень, а не групповую работу форума.
9 igorPetrov
 
22.05.18
11:30
(8) +100
10 vasiliyegorov
 
22.05.18
11:33
Я только начал и разбираюсь по ходу делая задания, я пишу своё, а потом прошу подсказать куда двигаться и двигаюсь ли я правильно и всё, я же не прошу с нуля мне всё написать, я вот написал код:
Если Элементы.Дисциплины.ТекущийЭлемент Тогда
      Сообщить("Поле не заполенено");
КонецЕсли;

Если Элементы.Дисциплины.ТекущийЭлемент истина (не заполенено поле) тогда должны вывести сообщение Поле не заполнено, но в условии не знаю что поставить, После ТекущийЭлемент ссылкой нельзя выбрать из моей табличной части поле Дисциплины чтобы на него указать
11 igorPetrov
 
22.05.18
11:38
(10) Ты не разбираешься.  Ты не читал книг. Ты не изучал документацию. Ты просто копипастишь и переставляешь строки методом подбора. И чего ты хочешь?
Ты не пишешь своё, ты пишешь всякую чушь и просишь, что бы тебе написали правильный код.
12 SleepyHead
 
гуру
22.05.18
11:47
(11) Он переплюнул Мисти. Медаль ему!
13 vasiliyegorov
 
22.05.18
11:50
Ребят я серьёзно, помогите, один понятно троль пытается самоутвердиться сразу видно все у него хорошо(нет), вы же серьёзные  люди, я не прошу сделать за меня, я прошу просто направить, я же код выше написал
14 vasiliyegorov
 
22.05.18
11:52
Объясните структуру этого задания
15 SleepyHead
 
гуру
22.05.18
11:54
Рано тебе такие задания.. Оно для тебя слишком сложное, начни с простого.
16 Базис
 
naïve
22.05.18
11:54
Нет. Тебе спокойно объяснили твои ошибки - ты неграмотен и ленив. Ссылки на учебные материалы найдёшь сам, а школьную программу пересказывать мы даже за деньги не будем.
17 Alekzander Wolf
 
22.05.18
11:55
ПолеДисциплины явно не Булево (Булево может принимать значения истина и ложь).
Если НЕ ЗначениеЗаполнено(ПолеДисциплины) Тогда
Сообщить("Поле дисциплины не заполнено");
КонецЕсли;
Как один из вариантов, но не единственный.
18 vasiliyegorov
 
22.05.18
11:55
Мне дают я пытаюсь делать одновременно читая, изучая иначе не как, я после стажировки прихожу и около часов 2-3 дома изучаю, так что тут такая политика заданий
19 SleepyHead
 
гуру
22.05.18
11:57
Ты до этого вообще учился программированию? Если нет, возьми паузу, поучись годик, тогда уже выполняй тестовые задания.
20 vasiliyegorov
 
22.05.18
12:00
https://drive.google.com/open?id=1A7Vk-of2yRuuvLHZt4MdaT-zbuMVExb5

Alekzander Wolf, вот скриншот мне надо в условие поставить получается из табличной части Дисциплины поле Дисциплины, но я пробую вытянуть и не получается то есть Элементы.Дисциплины.Дисциплины или же Объект.Дисциплины.Дисциплины тоже не вытягивается, как мне его достать?
21 vasiliyegorov
 
22.05.18
12:06
SleepyHead, учился дома, я бы взял годик, но потом очень трудно найти место для стажера у нас в городе, так еще здесь меня учат и платят хоть и копейки, а у меня мать в декрете, так что тут сам понимаешь обстоятельства.
22 Alekzander Wolf
 
22.05.18
12:08
Нужно табличную часть в цикле перебрать.

Для каждого строка из Дисциплины цикл
Если НЕ ЗначениеЗаполнено(строка.Дисциплины) Тогда
Сообщить("Поле дисциплины не заполнено");
КонецЕсли;
КонецЦикла;

И подучить язык нужно, это не годик, но недельки две уделить придется, чтобы основы хотя бы изучить.
23 igorPetrov
 
22.05.18
12:10
Бинго! Деточка получил, что хотел!
Сдались к 22-му посту)))
Эдак он всю работу так сделает и бабки получит )))
24 Сти
 
22.05.18
12:14
(23) но когда будут вводить 99000-ю дисциплину, с него спросят почему же так долго строки вводятся, и он будет выспрашивать как получить только данные текущей строки )
25 Alekzander Wolf
 
22.05.18
12:20
(24) Врятли, но тут уже придется познакомиться с коллекциями в 1с, пару видео на ютубе видел, очень доступно, за вечер можно изучить.
26 vasiliyegorov
 
22.05.18
12:21
Alekzander, у меня не работает

&НаСервере
Процедура ДисциплиныПолеНаСервере()
    Для каждого Строка из Объект.Дисциплины Цикл
    Если НЕ ЗначениеЗаполнено(Строка.Дисциплины) Тогда
        Сообщить("Поле дисциплины не заполнено");
    КонецЕсли;
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ДисциплиныПоле(Команда)
    ДисциплиныПолеНаСервере();
КонецПроцедуры


https://drive.google.com/open?id=1lARIZBSOXQqreH5wd-Vf48uBd3T_QQyj    не выводится сообщение
27 Alekzander Wolf
 
22.05.18
12:22
(26) Ну да на сервере этот метод не работает, только на клиенте
28 hhhh
 
22.05.18
12:23
(24) с данных текущей строки он начал, потом перешел к коллекциям, а теперь опять к даным переходить надо.
29 vasiliyegorov
 
22.05.18
12:27
Сделал вот так
&НаКлиенте
Процедура ДисциплиныПоле(Команда)
    Для каждого Строка из Объект.Дисциплины Цикл
    Если НЕ ЗначениеЗаполнено(Строка.Дисциплины) Тогда
        Сообщить("Поле дисциплины не заполнено");
    КонецЕсли;
    КонецЦикла;

КонецПроцедуры

И все равно почему-то не работает
30 Alekzander Wolf
 
22.05.18
12:30
(29) Нужно тебе научиться пользоваться отладчиком.
31 Alekzander Wolf
 
22.05.18
12:32
Про вывод сообщения на клиенте, сервере можно посмотреть здесь: https://helpf.pro/faq83/view/1842.html
32 igorPetrov
 
22.05.18
12:34
Вот вставляет код не понимая что происходит. Не думает, вот результат. Готовое решение дали, а ему мало.
33 vasiliyegorov
 
22.05.18
12:36
Alekzander, можно ваш скайп, мне нужен ментор, не за бесплатно конечно.
34 3achem
 
22.05.18
12:45
(0) Задним числом в друзья записал, посмотрите на него.

А вообще, позовите программиста.
35 Alekzander Wolf
 
22.05.18
12:47
(33) Бесплатный совет начни с книги 1С:Предприятие 8.3. Практическое пособие разработчика  М.Г. Радченко + Видео уроки по программированию Павла Чистова (есть на ютубе).
36 vasiliyegorov
 
22.05.18
12:49
&НаСервере
Процедура ДисциплиныПолеНаСервере()
        
КонецПроцедуры

&НаКлиенте
Процедура ДисциплиныПоле(Команда)
    Для каждого Строка из Объект.Дисциплины Цикл
    Если НЕ ЗначениеЗаполнено(Строка.Дисциплины) Тогда
        Сообщить("Поле дисциплины не заполнено");
        
    КонецЕсли;
    КонецЦикла;
КонецПроцедуры


У меня не работает почему-то, хотя сделал как вы сказали
37 Alekzander Wolf
 
22.05.18
12:53
(36) Это рабочий код, научитесь пользоваться отладчиком  http://programmist1s.ru/otladka-1s/
38 igorPetrov
 
22.05.18
12:53
(36) Книги читай тебе сказали.
39 3achem
 
22.05.18
12:55
(36) Лучше будет, если таблица значений будет отличаться по названию от поля. "Почему-то не работает" - это непонятно, здесь не битва экстрасенсов, никто не знает, какая ошибка у тебя вываливается.