Имя: Пароль:
1C
1С v8
v8: Как сделать запрет на заполнение документа?
0 Singenor
 
22.06.12
10:50
Как сделать запрет на заполнение документа, а именно его ТЧ, при выполнении определенного условия?
Если ЭтотОбъект.ВалютаДокумента.Наименование = ЭтотОбъект.ДоговорКонтрагента.ВалютаВзаиморасчетов.Наименование Тогда
          ЗаполнитьПоДаннымУправленческогоУчета();
      Иначе
         Сообщить("Валюта сверки и валюта документа не совпадают!");
         Отказ = Истина;
     КонецЕсли;
1 zak555
 
22.06.12
10:51
что за куйня *
2 zak555
 
22.06.12
10:51
первое правило : забудь, что отображается в наименовании
3 zak555
 
22.06.12
10:52
для объектов используют только ссылку
4 Жан Пердежон
 
22.06.12
10:52
быдлокод детектед
5 Singenor
 
22.06.12
10:53
не тупите, ошибка вылазит, но ТЧ заполняется, а мне нужно сделать запрет заполнения ТЧ
6 mikecool
 
22.06.12
10:53
(5) тупишь как раз ты...
7 Нуф-Нуф
 
22.06.12
10:54
вы че все тупите
8 Singenor
 
22.06.12
10:54
(6) у меня условие, что если данные в двух строках разные, тогда не заполнять, что тут не так???
9 mikecool
 
22.06.12
10:54
(7) в бане поумнел? )
10 zak555
 
22.06.12
10:54
не тупите , мужики,
не тупите
!!!
11 mikecool
 
22.06.12
10:55
(8) откуда я знаю? твой кусок кода может быть не единственным
12 Zombi
 
22.06.12
10:55
(8) Че то все тупят :(
13 zak555
 
22.06.12
10:55
> Валюта сверки и валюта документа не совпадают!

это полная чушь !

валюта документа ( т.е. валюта расчёта ) может отличаться от валюты договора
14 Maxus43
 
22.06.12
10:56
Если ЭтотОбъект.ВалютаДокумента = ЭтотОбъект.ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда
          ЗаполнитьПоДаннымУправленческогоУчета();
      Иначе
         Сообщить("Валюта сверки и валюта документа не совпадают!");
         Отказ = Истина;
     КонецЕсли;
З.ы. не тупите
15 mikecool
 
22.06.12
10:56
Если ВалютаДокумента = ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда
          ЗаполнитьПоДаннымУправленческогоУчета();
      Иначе
         Сообщить("Валюта сверки и валюта документа не совпадают!");
         Отказ = Истина;
         Возврат;
     КонецЕсли;
16 Eugene_life
 
22.06.12
10:56
(0) Иначе
         Сообщить("Валюта сверки и валюта документа не совпадают!");
         Возврат;
     КонецЕсли;
17 Ksandr
 
22.06.12
10:56
Пятницо наступила!
18 Eugene_life
 
22.06.12
10:56
(15) опоздал (
19 zak555
 
22.06.12
10:57
(18) почему ?
в (14) не праивльно
20 Maxus43
 
22.06.12
10:57
(19) да уже понял. туплю!
21 spu79
 
22.06.12
10:58
на заводах сейчас не плохо платят или можно на стройке поработать ... но 1с точно не твое
22 mikecool
 
22.06.12
10:58
(18) я? нет
23 zak555
 
22.06.12
10:58
(20) не тупи ! =)
24 zak555
 
22.06.12
10:58
(21) смотря, что за завод
25 mikecool
 
22.06.12
10:59
даю установку всем - НЕ ТУПИТЬ, мазафака!!!!
26 Ksandr
 
22.06.12
10:59
в среду за таким же товарищем как (0) переделывал ужасы.

Надо писать так

Если ЭтотОбъект.ВалютаДокумента.Ссылка.Наименование = Справочники.Валюты.НайтиПоНаименованиею(ЭтотОбъект.ДоговорКонтрагента.ВалютаВзаиморасчетов.Наименование).Наименование Тогда
          ЗаполнитьПоДаннымУправленческогоУчета();
      Иначе
         Сообщить("Голактеко опасносте, произошла катастрофическая ашипка, база будет разрушена!");
         Отказ = Истина;
     КонецЕсли;
27 Alex S D
 
22.06.12
11:00
(26) тупо
28 mikecool
 
22.06.12
11:00
(26) хороший вброс )
29 zak555
 
22.06.12
11:01
писать надо было ЗАПРОС !
30 Singenor
 
22.06.12
11:02
(26) че за бред?
31 Denyk
 
22.06.12
11:02
Вы все тупите, кроме (0) - у него куча одинаковой валюты в справочнике валют. ))))
32 Maxus43
 
22.06.12
11:02
Выбрать
Выбор когда Документ.ВалютаДокумента = Документ.ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда
"Ок"
Иначе
ТИПЗНАЧЕНИЯ(ПредставлениеСсылки(Документ.Ссылка))
Конец Как Ахтунг
Из
"ДокументКакойто" Как Документ
33 Ksandr
 
22.06.12
11:03
(27) Да, надо писать так:

Иначе
 НаборЗаписей = РегистрыСведений.СвойстваОбъектов.СоздатьНаборЗаписей();
 НаборЗаписей.Записать();
 
 Начальство.ОгрестиЗаГамнокод();
 ОтказОтЗарплаты = Истина;
 Возврат;
КонецЕсли;
34 Maxus43
 
22.06.12
11:05
ВЫБРАТЬ
   ВЫБОР
       КОГДА Документ.ВалютаДокумента = Документ.ДоговорКонтрагента.ВалютаВзаиморасчетов
           ТОГДА "Ок"
//Валим платформу в дамп, чтоб не заполняли ТЧ
       ИНАЧЕ ТИПЗНАЧЕНИЯ(ПРЕДСТАВЛЕНИЕССЫЛКИ(Документ.Ссылка))
   КОНЕЦ КАК Ахтунг
ИЗ
   Документ.РеализацияТоваровУслуг КАК Документ
35 zak555
 
22.06.12
11:05
ВЫБРАТЬ ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов ИЗ Справочники.ДоговорКонтрагента
36 zak555
 
22.06.12
11:06
(34) долго
37 Maxus43
 
22.06.12
11:07
(36) что долго?
38 qwerty09
 
22.06.12
11:07
Только по прочтению этой ветки осознал что седня пятница...пора в отпуск.
39 spu79
 
22.06.12
11:08
да, здесь по круче пятничной ветки будет!
40 Жан Пердежон
 
22.06.12
11:14
да вы все тут наркоманы
41 abitfrosty
 
22.06.12
11:14
Сообщить("Валюта сверки и валюта документа не совпадают, не тупите!");
42 Singenor
 
22.06.12
11:16
(41) хотел понтанутся, не знал что написать
43 Singenor
 
22.06.12
11:17
зачем мне запрос, когда у меня просто сравниваются данные в двух строчках, в которых одинаковые названия валют? если различаются, тогда ошибка, и никакого заполнения ТЧ. вы что, упоротые?
44 Maxus43
 
22.06.12
11:19
(43) ответ правильный был выше, а щас мы просто изобретаем самый извращённый способ не заполнить тч
45 zak555
 
22.06.12
11:20
(44) где ?
46 Maxus43
 
22.06.12
11:21
(45) в (15)(16). ВОЗВРАТ;
47 mikecool
 
22.06.12
11:21
(40) вроде ни одного модера нет..
48 Singenor
 
22.06.12
11:22
(44) да я понял, что вместо Отказ = Истина надо писать Возврат было)
49 Singenor
 
22.06.12
11:22
Предлагаю новую тему для троллинга, чем отличается Отказ = Истина от Возврат?
50 Maxus43
 
22.06.12
11:24
(49) ОТКАЗ - предопределённая штука на уровне платформы, работает тока в определённых событиях. нет простора для троллинга
51 Eugene_life
 
22.06.12
11:24
(49) Дай мне 1000 в долг, и сразу поймешь, чем отличаетца Отказ = Истина от Возврат
52 Maxus43
 
22.06.12
11:25
Если ВалютаДокумента = ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда
          ЗаполнитьПоДаннымУправленческогоУчета();
      Иначе
а=Новый СписокЗначений();
а.Добавить(а);
а=ЗначениеВСтрокуВнутр(а);
КонецЕсли;

вот код который решит все проблемы автора
53 eromanov
 
22.06.12
11:25
блин боюсь написать а то тупым обзовут)
54 Maxus43
 
22.06.12
11:26
пиши, не тупи
55 zak555
 
22.06.12
11:27
(46) обращаться через точку некорешно
56 zak555
 
22.06.12
11:28
+ (55) ДоговорКонтрагента.ВалютаВзаиморасчетов
57 mikecool
 
22.06.12
11:28
(52) а что даст?
зы: туплю )
58 Maxus43
 
22.06.12
11:28
да вкурсе вроде) ответ про Возврат, а не про как обращается. весь быдлокод не исправить, смирись
59 Singenor
 
22.06.12
11:29
(58) что быдляческого в моем коде? просто сравнение на соответствие двух строк, это плохо?
60 mikecool
 
22.06.12
11:30
(59) да
61 mikecool
 
22.06.12
11:30
+60 я создам два элемента валют с наименованиями "руб" и это будут разные валюты
62 zak555
 
22.06.12
11:31
(59) за такое паяльник в штаны суют
63 Maxus43
 
22.06.12
11:31
обращение через точку приводит к считыванию всего объекта типа
64 Singenor
 
22.06.12
11:32
(61) ну на самом деле да, неправильно по наименованию обращаться, как минимум по коду нужно получается так?)
65 mikecool
 
22.06.12
11:32
(64) молодец, учишься троллить?
66 qwerty09
 
22.06.12
11:33
(65) xD
67 Singenor
 
22.06.12
11:34
как тогда сделать выбор иначе?)
68 Maxus43
 
22.06.12
11:36
не, хреново тролить получается... не твоё
69 111Ivan111
 
22.06.12
11:37
Если ЭтотОбъект.ВалютаДокумента = ЭтотОбъект.ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда
          ЗаполнитьПоДаннымУправленческогоУчета();
      Иначе
         Сообщить("Валюта сверки и валюта документа не совпадают!");
         Отказ = Истина;
     КонецЕсли;

по ссылкам и все
70 Ksandr
 
22.06.12
11:38
(69) А ЭтотОбъект фейхоа?
71 Ksandr
 
22.06.12
11:39
(67)

ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ
72 Singenor
 
22.06.12
11:39
(70) текущий документ это
73 abitfrosty
 
22.06.12
11:40
(69) Возврат забыл))

PS. Не тупите!
74 Maxus43
 
22.06.12
11:41
(72) а в этой форме тебе другой и не доступен. просто Если ВалютаДокумента ....
75 mikecool
 
22.06.12
11:45
ну вы тупите.... )))
76 zak555
 
22.06.12
11:45
(69) > ДоговорКонтрагента.ВалютаВзаиморасчетов

неоптимальное обращение !

два
77 Ksandr
 
22.06.12
11:48
(76) Все конфигурации сплошное неоптимальное обращение.

Какбэ 1С намекает на компромис между сложностью и оптимальностью.
78 Singenor
 
22.06.12
11:48
ВалютаДокумента.Код= ДоговорКонтрагента.ВалютаВзаиморасчетов.Код
ребята, так тоже не правильно?)
79 Ksandr
 
22.06.12
11:49
Правда не такой как в (0)
80 Ksandr
 
22.06.12
11:50
(78) Да.
Что уникально у объекта? Что его однозначно идентифицирует?
81 zak555
 
22.06.12
11:50
(77) такие участки переписываются !
82 Singenor
 
22.06.12
11:51
(78) каждую запись айдишник идентифицирует, в данном случае код, если я правильно понимаю
83 Нуф-Нуф
 
22.06.12
11:52
вы все еще тупите? тогда мы идем к вам
84 Ksandr
 
22.06.12
11:53
(81) Если высоконагруженная система да, иначе проще и дешевле докинуть мощностей.
85 qwerty09
 
22.06.12
11:54
(82) Сообщить(ЗначениеВСтрокуВнутр(ВалютаДокумента));
сильно удивишься
86 Ksandr
 
22.06.12
11:54
(82) Что будет в А?  
А = ДоговорКонтрагента.ВалютаВзаиморасчетов;
87 zak555
 
22.06.12
11:57
(84) переписываешь и пишешь письмо 1с
88 Singenor
 
22.06.12
12:02
Если ВалютаДокумента = ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда
          ЗаполнитьПоДаннымУправленческогоУчета();
      Иначе
а=Новый СписокЗначений();
а.Добавить(а);
а=ЗначениеВСтрокуВнутр(а);
Сообщить(ЗначениеВСтрокуВнутр(ВалютаДокумента));
Возврат;

так?
89 EasyRider
 
22.06.12
12:04
(88)тоже в пятницу работать не хочется? )
90 Singenor
 
22.06.12
12:08
(85) это все приводит к закрытию 1с)
91 zak555
 
22.06.12
12:23
Singenor напиши уже нормальный код !
92 alkov
 
22.06.12
12:38
(82) Неправильно понимаешь
93 gr0ck
 
22.06.12
12:46
\Голосовалки не хватает, не тупите
94 gr0ck
 
22.06.12
12:48
(90) Не позорь профессию, изыди
95 Ksandr
 
22.06.12
12:56
(87) Это работает? В обновление добавляют?
96 zak555
 
22.06.12
13:12
(95) работает
если ты напишешь где ошибка и как исправить
97 0xFFFFFF
 
22.06.12
13:39
(82) А если длина кода = 0?
98 ЧеловекДуши
 
22.06.12
15:13
99 ice777
 
22.06.12
15:16
пятница, однако.. делится туша неубитого ака незаписанного запросом.. весело )
100 spu79
 
22.06.12
16:22
100
101 jumper
 
22.06.12
16:30
В этой ветке 13 раз встречается слово тупить
102 Mafoni
 
22.06.12
16:32
(101) - не тупи - 14 раз :)
103 qwerty09
 
22.06.12
16:41
ТС уже не появляется, наверное решил пойти напиться...
104 Mafoni
 
22.06.12
16:43
:)
105 spu79
 
22.06.12
17:04
пусть лучше так, чем в 1с кодить будет. А может и просветление придет)))
106 Ksandr
 
22.06.12
18:00