|
нужна помощь по заданию Волшебник, Чеширский, ildary, ilya_i, ТДК, evorle145, Климов Сергей, denk, Gun47, Krendel, Дмитрий, petr_ivanov, Pixel_777, tir654, Доминошник, Мультук, novichok79, who respawn, Андрюха, НеМогуВойтиВАккаунт2, Lama12, yurikmellon2, Aloex, lubitelxml, comp2006, Звездец, DeeK, H A D G E H O G s, bmitkin, nick86, Галахад, бегинер, rabota_v8, Fedor-1971, END, Stepashkin, Шурик71, Молочный брат, Смотрящий, Elf_80_lvl, Linemoon, Maestro2020, Гений 1С, Crusher, alexela, ZaЖизнь, SleepyHead, Шебвольник С1, Hawk_1c, dedmoroz777, Timon1405, butterbean, kir-g, Garykom, Адинэснег, igor_caplin, Prog_man, Kongo2019, lEvGl, RomaH, barsukgammy, Вадим33, lucky-nn, Dmitrii, CepeLLlka, unregistered, Участковый, Tarlich, ikea, Homer, kubik_live, shuhard, sto-alex, asady, СвинТуз, Mr_Boogie, Расим, youalex, Amra, dchumak, AlexKimp, takefive, formista2000, БагХантер, Jackman, Hans, dva1c, maxab72, ОбновляторОдинЭс, boev82, Builder, d4rkmesa, DemonShinji2, _Batoo, Has, Fynjy, Nikkitka, rbcvg, Михаил_, Мыш серый, Amfiaray, FirstLineSupport, FuZe, Gennady, Затейник, privetik, Александр111, Asmody, Hmster, mishaPH, RVN, Никита М, rozz, zzz_zzz_zzz, ads55
| ☑ | ||
---|---|---|---|---|
0
FuZe
21.11.24
✎
12:34
|
Мне сказали сделать так что бы договор нельзя было провести со статусом Готов если строки пустые. А вот со статусом Готовится строки пустые могут быть, поэтому вариант просто поставить выдачу ошибки не прокатит.
|
|||
1
Волшебник
21.11.24
✎
12:35
|
Старайтесь...
|
|||
2
FuZe
21.11.24
✎
12:36
|
(1) я уже 3 часа над этим сижу, сил нету. Может хотя бы немного подскажите?
|
|||
3
Asmody
21.11.24
✎
12:37
|
Если Тогда Иначе КонецЕсли; помогут тебе, юный падаван
|
|||
4
Волшебник
21.11.24
✎
12:38
|
(2) всего 3 часа? А сколько Вам лет?
|
|||
5
Fedor-1971
21.11.24
✎
12:38
|
(0) Что делал? как пытался решить?
Вопрос: Документ проведён в статусе Готовится, поставили статус Готов и есть пустые строки - что делать станем? |
|||
6
Asmody
21.11.24
✎
12:39
|
Я бы так написал:
Если статусГотов() И строкиПустые() Тогда Отказ = Истина; // тут какое-нибудь сообщение об ошибке Возврат; КонецЕсли; |
|||
7
FuZe
21.11.24
✎
12:40
|
(4) Я в колледже ещё, задание такое дали, а как сделать не объясняли. В интернете не нашёл пока ещё
|
|||
8
Волшебник
21.11.24
✎
12:41
|
(7) Ну так у Вас впереди вся жизнь. Подумаешь, 3 часа... Старайтесь.
|
|||
9
Asmody
21.11.24
✎
12:41
|
коллеги, у нас тут неокуклившийся одинесник.
надо помочь человеку. |
|||
10
Волшебник
21.11.24
✎
12:42
|
(7) А что за колледж, где так плохо учат?
|
|||
11
FuZe
21.11.24
✎
12:42
|
(5) Много как
например: Процедура ПередЗаписью(Отказ, РежимЗаписи) // Проверка, что статус заказа "Готов" Если ЭтотОбъект.СтатусЗаказа = "Готов" Тогда // Проверка заполненности полей Если ЭтотОбъект.Номер = Неопределено Или ЭтотОбъект.Номер = "" Тогда Отказ = Истина; Сообщить("Поле 'Номер' должно быть заполнено."); Возврат; КонецЕсли; Если ЭтотОбъект.Дата = Неопределено Тогда Отказ = Истина; Сообщить("Поле 'Дата' должно быть заполнено."); Возврат; КонецЕсли; Если ЭтотОбъект.АдресНедвижимости = Неопределено Или ЭтотОбъект.АдресНедвижимости = "" Тогда Отказ = Истина; Сообщить("Поле 'Адрес недвижимости' должно быть заполнено."); Возврат; КонецЕсли; Если ЭтотОбъект.Клиент = Неопределено Тогда Отказ = Истина; Сообщить("Поле 'Клиент' должно быть заполнено."); Возврат; КонецЕсли; Если ЭтотОбъект.ФормаОплаты = Неопределено Тогда Отказ = Истина; Сообщить("Поле 'Форма оплаты' должно быть заполнено."); Возврат; КонецЕсли; Если ЭтотОбъект.СтатусОплаты = Неопределено Тогда Отказ = Истина; Сообщить("Поле 'Статус оплаты' должно быть заполнено."); Возврат; КонецЕсли; КонецЕсли; КонецПроцедуры вот ещё пример: Процедура СтатусЗаказаПриИзменении() Если СтатусЗаказа = "Готов" Тогда Если Не ЗначениеЗаполнено(АдресНедвижимости) Или Не ЗначениеЗаполнено(Клиент) Тогда Сообщить("Нельзя установить статус 'Готов', если обязательные поля не заполнены."); СтатусЗаказа = ""; // Возвращаем начальное значение статуса КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
12
RomaH
21.11.24
✎
12:43
|
для ТЧ - проверка заполнения истина
в обработкепроверки заполнения проверять - если статус не "готов" убирать ТЧ из проверяемых реквизитов |
|||
13
FuZe
21.11.24
✎
12:43
|
(10) Это у нас Учебная практика, типо сами должны справлятся
|
|||
14
Волшебник
21.11.24
✎
12:44
|
Если поле имеет тип, то его нельзя сравнивать с Неопределено
|
|||
15
Волшебник
21.11.24
✎
12:44
|
(13) Что за колледж?
|
|||
16
FuZe
21.11.24
✎
12:44
|
(12) У меня всё реквизитами сделано без табличной части
|
|||
17
FuZe
21.11.24
✎
12:45
|
(15) КГПК
|
|||
18
Волшебник
21.11.24
✎
12:45
|
(16) изучите понятие "тип данных"
|
|||
19
Волшебник
21.11.24
✎
12:46
|
Если СтатусЗаказа = "Готов" Тогда // это правда строка?
|
|||
20
FuZe
21.11.24
✎
12:48
|
(19) я делал как мог, 1с мы изучаем ну месяца 2 наверое только
|
|||
21
Волшебник
21.11.24
✎
12:48
|
(20) заведите перечисление СтатусыЗаказа
|
|||
22
FuZe
21.11.24
✎
12:49
|
(21) он у меня и так в перечислениях
|
|||
23
Волшебник
21.11.24
✎
12:50
|
(22) Тогда некорректно сравнивать со строкой. Надо так:
Если СтатусЗаказа = Перечисления.СтатусыЗаказа.Готов Тогда |
|||
24
Stepashkin
21.11.24
✎
12:52
|
(22) Тогда так Если СтатусЗаказа = Перечисления.СтатусыЗаказов.Готов
|
|||
25
FuZe
21.11.24
✎
12:53
|
(23) (24) я сделал щас так
&НаКлиенте Процедура ПередЗаписью(Отказ, РежимЗаписи) Если СтатусЗаказа = Перечисления.СтатусЗаказа.Готов Тогда Если Не ЗначениеЗаполнено(АдресНедвижимости) Или Не ЗначениеЗаполнено(Клиент) Тогда Сообщить("Нельзя записать документ со статусом 'Готов', если обязательные поля не заполнены."); Отказ = Истина; КонецЕсли; КонецЕсли; КонецПроцедуры но выдало такие ошибки {Документ.Договоры.Форма.ФормаДокумента.Форма(4,10)}: Переменная не определена (СтатусЗаказа) Если <<?>>СтатусЗаказа = Перечисления.СтатусЗаказа.Готов Тогда {Документ.Договоры.Форма.ФормаДокумента.Форма(4,25)}: Переменная не определена (Перечисления) Если СтатусЗаказа = <<?>>Перечисления.СтатусЗаказа.Готов Тогда {Документ.Договоры.Форма.ФормаДокумента.Форма(5,35)}: Переменная не определена (АдресНедвижимости) Если Не ЗначениеЗаполнено(<<?>>АдресНедвижимости) Или Не ЗначениеЗаполнено(Клиент) Тогда {Документ.Договоры.Форма.ФормаДокумента.Форма(5,79)}: Переменная не определена (Клиент) Если Не ЗначениеЗаполнено(АдресНедвижимости) Или Не ЗначениеЗаполнено(<<?>>Клиент) Тогда но и Клиент и Адрес есть и написаны они точно так-же |
|||
26
Stepashkin
21.11.24
✎
12:55
|
(25) СтатусЗаказа - Это реквизит? Если да, то ЭтотОбъект.СтатусЗаказа
|
|||
27
Волшебник
21.11.24
✎
12:56
|
(25) Перечисления - это надо на сервере.
|
|||
28
Stepashkin
21.11.24
✎
12:56
|
Если вы работаете в модуле формы, то обращаться стоит к полям основного реквизита ЭтотОбъект.Реквизит.
|
|||
29
FuZe
21.11.24
✎
12:56
|
у меня пара закончилась, дома ещё буду пробовать. Спасибо что попытались помочь
|
|||
30
Волшебник
21.11.24
✎
12:57
|
(29) Передайте преподу, что он плохой учитель.
|
|||
31
Stepashkin
21.11.24
✎
12:57
|
&НаКлиенте
Процедура ПередЗаписью(Отказ, РежимЗаписи) Не надо так делать. Процедура ПередЗаписью() выполняется в модуле объекта. |
|||
32
Stepashkin
21.11.24
✎
12:58
|
(29) Почитайте умные книги.
|
|||
33
Stepashkin
21.11.24
✎
13:00
|
Подумать только, каких-то 2 года назад я был таким же начинающим. Как быстро летит время.
|
|||
34
Волшебник
21.11.24
✎
13:03
|
♫ Песня Джун 1С
https://wizard.mista.ru/music/it-songs/junior-1c.html |
|||
35
Stepashkin
21.11.24
✎
13:04
|
(34) А может он не мечтает об 1С)
|
|||
36
Fedor-1971
21.11.24
✎
13:09
|
(11) Бе так лениться, положи процедуру ПередЗаписью в модуль объекта, и:
Если ЭтотОбъект.СтатусЗаказа = "Готов" Тогда //Перечисление.СтатусыЗаказа.Готов, а не просто строка // Проверка заполненности полей Если СокрЛП(ЭтотОбъект.Номер) = "" тогда //вместо: Если ЭтотОбъект.Номер = Неопределено Или ЭтотОбъект.Номер = "" Тогда Отказ = Истина; Сообщить("Поле 'Номер' должно быть заполнено."); //Возврат; выловишь все ошибки, потом будешь возврат делать КонецЕсли; Если ЭтотОбъект.Дата = Дата(1,1,1) тогда // а не вот это: Неопределено Тогда Отказ = Истина; Сообщить("Поле 'Дата' должно быть заполнено."); //Возврат; опять же КонецЕсли; Если ЭтотОбъект.АдресНедвижимости = Неопределено Или ЭтотОбъект.АдресНедвижимости = "" Тогда // тут тот же принцип - СокрЛП() = "" Отказ = Истина; Сообщить("Поле 'Адрес недвижимости' должно быть заполнено."); //Возврат; опять же КонецЕсли; Если ЭтотОбъект.Клиент.Пустая() тогда // т.е. проверяешь ссылку на пустое значение, а вот = Неопределено она будет если в поле составной тип данных, сам сообразишь как проверить Отказ = Истина; Сообщить("Поле 'Клиент' должно быть заполнено."); //Возврат; опять же КонецЕсли; Если ЭтотОбъект.ФормаОплаты = Неопределено Тогда //пояснил на контрагенте Отказ = Истина; Сообщить("Поле 'Форма оплаты' должно быть заполнено."); //Возврат; то же КонецЕсли; Если ЭтотОбъект.СтатусОплаты = Неопределено Тогда // пояснил на Контрагенте Отказ = Истина; Сообщить("Поле 'Статус оплаты' должно быть заполнено."); // Возврат; то же КонецЕсли; КонецЕсли; Если Отказ тогда // выловили все ошибки и рассказали пользователю об оных, теперь можно прервать выполнение процедуры Возврат; КонецЕсли; .... тут продолжение алгоритма, если оно надо ... КонецПроцедуры Как-то так, но выше правильно советовали, сначала понимание что собрался делать и как работать с типами данных, потом действие |
|||
37
Fedor-1971
21.11.24
✎
13:08
|
(35) таки, понимание что и как устроено пригодится в любом языке программирования
|
|||
38
Stepashkin
21.11.24
✎
13:10
|
(37) Я отвечал на песню. В ней поется про 1С.
|
|||
39
Мультук
21.11.24
✎
13:18
|
(36)
Есть чудная функция ЗначениеЗаполнено() |
|||
40
Волшебник
21.11.24
✎
13:41
|
(35) А это вообще законно?
|
|||
41
Адинэснег
21.11.24
✎
14:04
|
не, ну кого-то нейронки может и должны заменить
|
|||
42
Адинэснег
21.11.24
✎
14:06
|
(0) беги оттуда, у них договор - это документ
|
|||
43
Адинэснег
21.11.24
✎
14:10
|
кстати, яндекс нейро за 1 сек справилась +/-
бред, но быстро. я б её на работу взял
|
|||
44
lubitelxml
21.11.24
✎
15:07
|
(43) лкСтроки. [0]Получить
Жесть ) |
|||
45
Fedor-1971
21.11.24
✎
15:13
|
(42) Зачем ему бежать? Это ученик колледжа, их чему-то учат.
Вот ТС и выясняет то, чего не понял или недослышал (может в карты играл или букварь курил) |
|||
46
Звездец
21.11.24
✎
15:58
|
(7) крепись. Ты думаешь потом на работе тебе что-то по заданиям объяснять будут?
|
|||
47
Волшебник
21.11.24
✎
19:21
|
(46) 🔥 а-ха-ха!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |