Бухгалтерия / Говнокод #7334 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ин_Кодификатор",Кодификатор);
   Запрос.Текст =  "ВЫБРАТЬ
   | СтатьиДвиженияДенежныхСредств.Ссылка
   |ИЗ
   | Справочник.СтатьиДвиженияДенежныхСредств КАК СтатьиДвиженияДенежныхСредств
   |ГДЕ
   | СтатьиДвиженияДенежныхСредств.ин_Кодификатор = &ин_Кодификатор
   |";
   
   Выборка = Запрос.Выполнить().Выбрать();
   Если Выборка.Следующий() Тогда   
    Если  Выборка.Ссылка.Наименование <> Наименование Тогда
     СтатьяДДСОбъект = Выборка.Ссылка.ПолучитьОбъект();      
     СтатьяДДСОбъект.Наименование = Наименование;
     СтатьяДДСОбъект.Записать(); 
    КонецЕсли;
    Если  Выборка.Ссылка.ин_Кодификатор <> Кодификатор Тогда
     СтатьяДДСОбъект = Выборка.Ссылка.ПолучитьОбъект();         
     СтатьяДДСОбъект.ин_Кодификатор = Кодификатор;
     СтатьяДДСОбъект.Записать(); 
    КонецЕсли;

Отбор в запросе ин_Кодификатор = &ин_Кодификатор.
Потом идет проверка Выборка.Ссылка.ин_Кодификатор <> Кодификатор

Запостил: s-in-m s-in-m, (Updated )

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

  • Сейчас сижу, обмазываюсь 1С. Такое чувство, что опять стал школьником, сижу на уроке информатики. А %TeacherName% объясняет нам про циклы в АЯ.
    Ответить
  • Получать наименование через точку, а не в запросе, это жесть жестокая. Кодера распять.
    Ну и "Выборка.Ссылка.ин_Кодификатор <> Кодификатор" кагбэ намекает..
    Ответить
  • 1С, что символизирует "Одному говнокоду - один пиписюнчик".
    Между прочим, золотая формула.
    Ответить
  • Вы, должно быть, не в курсе, что при исполнении метода СтатьяДДСОбъект.Записать() может выполниться тонна кода (в том числе и изменить ин_Кодификатор)? После этого такие невинные проверки не будут казаться чем-то особенным.
    Ответить
    • Я уж не говорю о том, что за время выполнения обработки другой пользователь может поменять by_Кодификатор. То же самое и относительно .Наименование. Его тоже могут поменять, пока работает обработка... Эх, вот отсюда баги и лезут - нет у программистов многозадаченого мышления...
      Ответить
      • Транзакции и управляемые блокировки на этот случай еще никто не отменял
        Ответить
  • Все отборы можно было в запросе сделать (я про наименование), ну а кодификатор - доставляет, да. 🙂
    Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8