1. 1C / Говнокод #11902

    −121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    Процедура аСсылкиПриЗаписиПриЗаписи(Источник, Отказ) Экспорт
    	
    	Если аСервер.ЗагрузкаПоОбменуРиб(Источник) Тогда
    		Возврат
    	КонецЕсли;
    	
    	Если ТипЗнч(Источник)=Тип("СправочникОбъект.Корреспонденты") Тогда
    		
    		Если Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли;
    		Если Источник.Ссылка.ЭтоГруппа Тогда Возврат; КонецЕсли;
    		Если Источник.Предопределенный Тогда Возврат; КонецЕсли;
    		Источник.ОбменДанными.Загрузка=Истина;
    		Источник.Записать(); //Записать() в подписке ПриЗаписи() - крутой костыль
    		Источник.ОбменДанными.Загрузка=Ложь;
    		Источник.Комментарий = ...

    Вот такая вот подписка при записи любых ссылок. 3 Если подряд? Логическое умножение - не, не слышал. Зато Записать() в подписке ПриЗаписи - слышал. Автор Хан Юрий Валентинович.

    Запостил: ilya2184, 10 Октября 2012

    Комментарии (8) RSS

    • фикс
      Если Тзинч = Источник Тогда
          Устроить трэш
          Устроить угар
          Устроить содомия
      //например
      Ответить
      • Хоть буду знать что такое Тзинч:
        Бог Перемен, Амбиций, Знаний, Надежды и Колдовства, Изменяющий Пути, Архитектор Судеб, Владыка перемен, Великий Конспиратор.
        А еще узнал что в этом регионе содомия = анал.

        И, в связи с новейшими, ценнейшими знаниями Ваш комментарий приобретает новый смысл :-)
        * данный комментарий не подразумевает оскорбления чувств верующих, стран третьего мира, феминисток, животных и прочих сообществ.
        Ответить
    • Такое ощущение складывается, что на 1-эс кодят какие-то умственно отсталые люди. Недавно смотрел многострадальную загрузку, там добрые люди делают нечто типа, цитирую по памяти:
      Если НовыйДокумент.Метаданные().Имя= "ПоступлениеТоваровУслуг" Тогда
      НекаяПроцедура();
      НовыйДокумент.СуммаДокумента = НекаяФункция();
      ИначеЕсли НовыйДокумент.Метаданные().Имя= "ПеремещениеТоваров" Тогда
      НекаяПроцедура();
      НовыйДокумент.СуммаДокумента = НекаяФункция();
      // Ещё два-три вида документов
      Иначе
      Попытка
      НекаяПроцедура();
      НовыйДокумент.СуммаДокумента = НекаяФункция();
      Исключение
      КонецПопытки;
      КонецЕсли;


      Про такую милую мелочь, как
      Если ЧтоТо = Истина Тогда
      Если Флаг = 1 Тогда
      //Действие
      Флаг = 0;
      КонецЕсли;	
      Иначе
      Если Флаг = 1 Тогда
      // Другое действие
      Флаг = 0;
      КонецЕсли;
      КонецЕсли;

      даже упоминать не стоит.
      Ответить
    • Почему ПриЗаписиПриЗаписи два раза?
      Ответить
      • Подписка называется аСсылкиПриЗаписи: а - префикс компании в типовой конфигурации, по идее должны быть свитчи на процедуры обработки записи ссылочных данных, При записи - тип подписки в имени метаданных, последняя ПриЗаписи добаила платформа - поленились убрать (технический долг)
        Ответить
      • для надежности записи
        Ответить
      • Я не говорю под грампластинку, я не говорю под грампластинку. (q)
        Ответить
    • Наверное, автор сего далее читал данные запросом и ему нужна была ссылка с заполненными данными из объекта (объект или форму, нельзя передать запросу - мутабельное значение). Оригинальный метод...
      Ответить

    Добавить комментарий