|   |   | 
| 
 | Как отловить ситуацию в ПриСозданииНаСервере? | ☑ | ||
|---|---|---|---|---|
| 0
    
        ДайтеДайте Сказать 13.12.12✎ 12:55 | 
        В документе, в МодулеОбъекта есть ОбработкаЗаполнения().
  В модуле формы есть ПриСозданииНаСервере. Документ вводит пользователь на основании другого документа. Ситуация: - отрабатывает ОбработкаЗаполнения и заполняет Реквизит1 - отрабатывает ПриСозданииНаСервере и меняет значение у Реквизит1 Как отловить в ПриСозданииНаСервере, что документ вводится на основании и сказать, что в этом случае не нужно повторно менять Реквизит1? | |||
| 1
    
        Wobland 13.12.12✎ 12:56 | 
        на заполненность посмотреть?     | |||
| 2
    
        ДайтеДайте Сказать 13.12.12✎ 12:57 | 
        (1) ну да, только что пришла мысль посмотреть заполненность реквизита "ДокументОснование".
  А более крутые варианты может есть? | |||
| 3
    
        Defender aka LINN 13.12.12✎ 12:57 | 
        (0) Ну, надо себя как-то заставить. Заставить себя, наконец, понять, что в ПриСозданииНаСервере вообще не надо ничего менять в объекте.     | |||
| 4
    
        Wobland 13.12.12✎ 12:58 | 
        (3) кстати, да     | |||
| 5
    
        XLife 13.12.12✎ 12:58 | 
        Параметры.Основание     | |||
| 6
    
        ДайтеДайте Сказать 13.12.12✎ 12:59 | 
        (3) расскажи это фирме 1С и её типовым конфигурациям     | |||
| 7
    
        Defender aka LINN 13.12.12✎ 13:00 | 
        (6) Пруф или GTFO     | |||
| 8
    
        ДайтеДайте Сказать 13.12.12✎ 13:01 | 
        (5) спасибо     | |||
| 9
    
        ДайтеДайте Сказать 13.12.12✎ 13:02 | 
        (7)
  &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда Отказ = Истина; УправлениеНебольшойФирмойСервер.ЗаполнитьШапкуДокумента( Объект, "Продажа", Параметры.ЗначениеКопирования, , , ,); //*************************************** ОбновитьПодвалФормы(); КонецПроцедуры | |||
| 10
    
        Defender aka LINN 13.12.12✎ 13:03 | 
        (9) Если попробовать прямо глазами посмотреть в этот код и на секундочку задуматься, то ответ и так будет очевиден.     | |||
| 11
    
        ДайтеДайте Сказать 13.12.12✎ 13:04 | 
        (3) > Заставить себя, наконец, понять, что в ПриСозданииНаСервере вообще не надо ничего менять в объекте.
  Кстати, а где рекомендуешь что-то менять в объекте? Очень интересно... | |||
| 12
    
        ДайтеДайте Сказать 13.12.12✎ 13:04 | 
        +(11) Гуру что рекомендуют?     | |||
| 13
    
        MSII 13.12.12✎ 13:05 | 
        (11) А чем обработка заполнения не устраивает?     | |||
| 14
    
        ДайтеДайте Сказать 13.12.12✎ 13:06 | 
        (10) Вот тебе чисто типовой код
  // Процедура - обработчик события ПриСозданииНаСервере. // &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) УправлениеНебольшойФирмойСервер.ЗаполнитьШапкуДокумента( Объект, , Параметры.ЗначениеКопирования, Параметры.Основание, СостояниеДокумента, КартинкаСостоянияДокумента, РазрешеноПроведение, Параметры.ЗначенияЗаполнения ); // Установка реквизитов формы. ДатаДокумента = Объект.Дата; Если НЕ ЗначениеЗаполнено(ДатаДокумента) Тогда ДатаДокумента = ТекущаяДата(); КонецЕсли; Компания = УправлениеНебольшойФирмойСервер.ПолучитьОрганизацию(Объект.Организация); Если НЕ Константы.ФункциональнаяОпцияУчетПоНесколькимСкладам.Получить() Тогда Элементы.СтруктурнаяЕдиница.РежимВыбораИзСписка = Истина; КонецЕсли; Если ЗначениеЗаполнено(Объект.СтруктурнаяЕдиница) Тогда Если НЕ Объект.СтруктурнаяЕдиница.ОрдерныйСклад Тогда Объект.СтруктурнаяЕдиница = Неопределено; ИначеЕсли НЕ Константы.ФункциональнаяОпцияУчетПоНесколькимСкладам.Получить() Тогда Элементы.СтруктурнаяЕдиница.Видимость = Ложь; КонецЕсли; КонецЕсли; // Обработчик подсистемы "Дополнительные отчеты и обработки" ДополнительныеОтчетыИОбработки.ПриСозданииНаСервере(ЭтаФорма); // ПодключаемоеОборудование ИспользоватьПодключаемоеОборудование = УправлениеНебольшойФирмойПовтИсп.ИспользоватьПодключаемоеОборудование(); СписокЭлектронныхВесов = МенеджерОборудованияСервер.ПолучитьСписокОборудования("ЭлектронныеВесы", , МенеджерОборудованияСервер.ПолучитьРабочееМестоКлиента()); Если СписокЭлектронныхВесов.Количество() = 0 Тогда // Нет подключенных весов. Элементы.ЗапасыПолучитьВес.Видимость = Ложь; КонецЕсли; // Конец ПодключаемоеОборудование КонецПроцедуры // ПриСозданииНаСервере() | |||
| 15
    
        XLife 13.12.12✎ 13:06 | 
        (9) Объект имеет тип ДанныеФормыСтруктура     | |||
| 16
    
        regniws 13.12.12✎ 13:07 | 
        (3) бред какой-то написал     | |||
| 17
    
        Defender aka LINN 13.12.12✎ 13:30 | 
        (11) В обработке заполнения, где же еще.
  (16) Учи матчасть. В общем, Параметры.ЗначениеКопирования автора так ни на какие мысли не навело. Печально. | |||
| 18
    
        Stim 13.12.12✎ 13:31 | 
        (16)+100     | |||
| 19
    
        Defender aka LINN 13.12.12✎ 13:32 | 
        (18) Стим, не тебе меня учить ;)     | |||
| 20
    
        Stim 13.12.12✎ 13:34 | 
        (19) код из 14 тебя ни на что не натолкнул, изобретатель велосипедов?     | |||
| 21
    
        mikecool 13.12.12✎ 13:38 | 
        (20) какой то гкод, кмк     | |||
| 22
    
        Defender aka LINN 13.12.12✎ 13:38 | 
        (20) Нет, а должен был? А про велосипеды, опять-таки, не тебе мне рассказывать, ага.     | |||
| 23
    
        regniws 13.12.12✎ 13:40 | 
        (17) ну-ка ну-ка, и чем нам грозит заполнение объекта не в ПриСозданииНаСервере!? :)     | |||
| 24
    
        regniws 13.12.12✎ 13:40 | 
        (23) опечатка. читать: чем нам грозит заполнение объекта не в ПриСозданииНаСервере!? :)     | |||
| 25
    
        Stim 13.12.12✎ 13:40 | 
        (22) почитай чтоле книжки по УФ, не знаю     | |||
| 26
    
        MSII 13.12.12✎ 13:43 | 
        (23) Да ничем, в общем-то, пока мы помним, что ПриСозданииНаСервере - событие формы и программно создаваемые объекты заполняем самостоятельно.     | |||
| 27
    
        regniws 13.12.12✎ 13:44 | 
        (26) кажется он имеет что-то другое ввиду ))     | |||
| 28
    
        Stim 13.12.12✎ 13:44 | 
        (26) в ПриСозданииНаСервере можно и нужно заполнять реквизиты формы     | |||
| 29
    
        regniws 13.12.12✎ 13:45 | 
        (28) он про объект утверждает что-то, а не про форму ))     | |||
| 30
    
        MSII 13.12.12✎ 13:46 | 
        (28) Вроде мы про реквизиты объекта говорил, нет?     | |||
| 31
    
        Defender aka LINN 13.12.12✎ 13:46 | 
        (24) Вам - разрывом мозга, вестимо. Мне - ничем.
  (25) Стим, еще раз: ты НИКУЯ не знаешь про управляемые формы, усохни уже со своими идиотскими советами. | |||
| 32
    
        regniws 13.12.12✎ 13:48 | 
        (31) обоги.. какой конструктивный диалог..     | |||
| 33
    
        Stim 13.12.12✎ 13:49 | 
        (32) у человека завышенное чсв на фоне собственного альтернативного понимания механизма работы УФ.     | |||
| 34
    
        regniws 13.12.12✎ 13:51 | 
        (33) да это уже не чсв, а ЧСАху....     | |||
| 35
    
        Maxus43 13.12.12✎ 13:53 | 
        тут кто то что то знает про УФ? Не смешите мои тапки, падите ниц перед моим величием :)     | |||
| 36
    
        Defender aka LINN 13.12.12✎ 13:54 | 
        (34) Могу и тебя следом послать, я ни для кого исключений не делаю.
  (33) Ну, у меня хотя бы такое есть. | |||
| 37
    
        regniws 13.12.12✎ 13:56 | 
        (36) окей, давай )) дабы расставить точки над i. 
  Голословное "я все могу, я все умею, вы все г..но и тд" является вполне основанной аргументацией (подсказываю).. (35) как ни странно, да, бывают те, что знают об УФ в бОльшем объеме, нежели может показаться. | |||
| 38
    
        Maxus43 13.12.12✎ 13:56 | 
        Страницы 405-406. Читать всем.
  ПриСозданииНаСервере - процедура в которой надо подготовить ФОРМУ к открытию, а не менять данные объекта, Объект удалён из памяти после предыдущего обработчика ПриЧтенииНаСервере и т.д. и т.п. | |||
| 39
    
        Stim 13.12.12✎ 13:58 | 
        ветку можно закрывать     | |||
| 40
    
        Defender aka LINN 13.12.12✎ 13:59 | 
        (37) Еще раз: я объясняю, как следует делать с точки зрения управляемого приложения. В ответ какие-то неадекватные обезьяньи ужимки типа "А чем нам грозит, если будем делать не так?". Та ничем вам не грозит. И воду в решете можно таскать, достаточно зимы дождаться.     | |||
| 41
    
        Defender aka LINN 13.12.12✎ 14:00 | 
        (39) Иди в соседней ветке про ДС лучше расскажи. А то я уж прямо истомился в ожидании.     | |||
| 42
    
        regniws 13.12.12✎ 14:01 | 
        (38) бывают сценарии, при которых необходимо заполнить некоторые данные объекта(sic!) с последующием помещением в бидэ и более аккуратного способа как сделать это в ПриСозданииНаСервере не существует. 
  на вскидку: - реквизит СозданИнтерактивно чудесно заполняется именно в присоздании на сервере - ВидОперации, который нельзя прописать в дефолт значение, так же прекрасно заполняется именно в ПриСозданииНаСервере Могу еще поковырять примеров. | |||
| 43
    
        regniws 13.12.12✎ 14:02 | 
        (40) простое следования правилам не является хорошим тоном для программиста. Понимание механизмов работы управляемых форм наше благо, что позволяет не заявлять, что так нужно делать всегда.     | |||
| 44
    
        Mort 13.12.12✎ 14:03 | 
        Реквизит "СозданИнтерактивно" это г*внокод. Самый короткий г*внокод, который я видел.     | |||
| 45
    
        Maxus43 13.12.12✎ 14:04 | 
        (43) ситуации конечно разные, если говорить о методологии - то (38), надо к этому стремится просто     | |||
| 46
    
        regniws 13.12.12✎ 14:05 | 
        (44) мотивация )     | |||
| 47
    
        Defender aka LINN 13.12.12✎ 14:06 | 
        (42) Реквизит "СозданИнтерактивно" прямо-таки разворачивает плакат с надписью "тут вбит костыль". Хотя да, иногда надо и в форме менять реквизиты. Только я не вижу, чтобы я где-то утверждал, что этого делать категорически нельзя.
  (43) Вот с этими самыми словами на правила обычно с самого начала ложится здоровенный болт | |||
| 48
    
        regniws 13.12.12✎ 14:06 | 
        (45) я полностью согласен с тем, что есть "основной сценарий использования" и именно этому гайдлайну нужно следовать, но заявлять сразу о том, что это г*вно ведь не следует, не так ли?     | |||
| 49
    
        Stim 13.12.12✎ 14:06 | 
        Открываю типовую БП 3.0., форму документа РТУ и, о ужас - в процедуре при созданииНаСервере заполняются реквизиты объекта!! Надо срочно написать разработчикам, что так нельзя делать!!     | |||
| 50
    
        regniws 13.12.12✎ 14:07 | 
        (47) вы даже не знает, где этот "костыль" есть и как используется, но видимо с таким чса навыки телепата впечатываются автоматически.     | |||
| 51
    
        Defender aka LINN 13.12.12✎ 14:08 | 
        (50) Не знаю. Но знаю, что объекту должно быть пофигу, как его создали.
  (49) Ты там мою фамилию в авторах увидел, или что? | |||
| 52
    
        Stim 13.12.12✎ 14:09 | 
        (51) типовые создают те люди, которые придумали УФ. или из той команды. во всяком случае они знают больше тебя     | |||
| 53
    
        mikecool 13.12.12✎ 14:10 | 
        (52) я бы на это не сильно надеялся ))     | |||
| 54
    
        regniws 13.12.12✎ 14:10 | 
        (51) ну да, я прям так и вижу тогда, что у вас создается регистр сведений "объекты, созданные интерактивно" с одним составным измерение, ведь объект не должен знать, как его создали.     | |||
| 55
    
        Mort 13.12.12✎ 14:11 | 
        БП 3.0.9.4 РТУ :
  &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // ДополнительныеОтчетыИОбработки ДополнительныеОтчетыИОбработки.ПриСозданииНаСервере(ЭтаФорма); // Конец ДополнительныеОтчетыИОбработки Если Параметры.Ключ.Пустая() Тогда ПодготовитьФормуНаСервере(); КонецЕсли; АктивизироватьТабличнуюЧасть = ОбщегоНазначенияБПВызовСервера.ПолучитьПервуюНепустуюВидимуюТабличнуюЧасть( ЭтаФорма, СписокВидимыхТабличныхЧастей()); КонецПроцедуры | |||
| 56
    
        Stim 13.12.12✎ 14:12 | 
        (55) открой последний релиз, раз уж взялся     | |||
| 57
    
        Maxus43 13.12.12✎ 14:14 | 
        Типовые приводить в пример вобще не кошерно, там ошибок дохрена, как методологических, так и даже программных (например код не соответсвует их же статье о снятии режима совместимости, в некоторых процедурах не учитывется новое поведение 8.2, оттого криво работает код). Но сравнивать больше не с чем, в конфах не 1с ещё больще косяков     | |||
| 58
    
        Mort 13.12.12✎ 14:14 | 
        (54) Примерно так. И входить это дело должно в подсистему "мы занимаемся хернёй".
  (56) Значит костыль поставили. Лень было думать и наг*кодили. | |||
| 59
    
        Maxus43 13.12.12✎ 14:16 | 
        2 дня без мисты жили, накипело видимо у народа, щас буквами дерутся, пар выпускают :)     | |||
| 60
    
        regniws 13.12.12✎ 14:17 | 
        (59) да нет, все ок, просто немного коробит, когда люди думают, что знают больше других ))     | |||
| 61
    
        Defender aka LINN 13.12.12✎ 14:32 | 
        (54) Нет. У нас, конечно, говнокода эпические тонны, но такого регистра, равно как и реквизита, нет. Ибо объектам пофигу, как их создают.
  (60) Боль пониже спины возникает? :) | |||
| 62
    
        Wobland 13.12.12✎ 14:41 | 
        у меня есть в кармане зажигалка. она была обнаружена после пьянки, происхождение явно не коммерческое. работа зажигалки - поджигать мне сигарету. представим теперь, что в кармане появляется вторая зажигалка, купленная мной за деньги.
  первая зажигалка справится с задачей, вторая нет. ибо мне не пофигу, как был создан объект. ибо мне аллах запрещает покупать зажигалки. других случаев, когда важен источник появления, у меня нет и вообразить не могу | |||
| 63
    
        Stim 13.12.12✎ 14:43 | 
        (62)слишком сложно описал. альтернативный специалист не поймет     | |||
| 64
    
        Wobland 13.12.12✎ 14:45 | 
        альтернативный специалист - надо запомнить     | |||
| 65
    
        Wobland 13.12.12✎ 14:53 | 
        поправка: аллах запрещает приобретать, но не запрещает пользоваться.
  вопрос: зачем нужна интерактивность? | |||
| 66
    
        regniws 13.12.12✎ 15:14 | 
        (61) Свою больную тему, небольшая просьба, не проецировать на других, тем более столь интимную.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |