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

    −138

    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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    Для Каждого СтрПЛ Из ПутевыеЛисты Цикл
    	ЗаказСсылкаИзПЛ = СтрПЛ.ЗаказНаИспользованиеТС;
    	Если Не ЗаказСсылкаИзПЛ.Пустая() Тогда
    		ЗапросВыборкаЗаказовПоСсылкеИЗПЛ = Новый Запрос;
    		ЗапросВыборкаЗаказовПоСсылкеИЗПЛ.Текст = "ВЫБРАТЬ
    					   |	АСУ_ЗаказНаИспользованиеТС.Ссылка
    					   |ИЗ
    					   |	Документ.АСУ_ЗаказНаИспользованиеТС КАК АСУ_ЗаказНаИспользованиеТС
    					   |ГДЕ
    					   |	АСУ_ЗаказНаИспользованиеТС.ДатаС <= &Дата1
    					   |	И АСУ_ЗаказНаИспользованиеТС.ДатаПо >= &Дата2
    					   |	И АСУ_ЗаказНаИспользованиеТС.Ответственный = &Ответственный
    					   |	И АСУ_ЗаказНаИспользованиеТС.Номер = &Номер";	
    		ЗапросВыборкаЗаказовПоСсылкеИЗПЛ.УстановитьПараметр("Дата1", КонецДня(Дата));
    		ЗапросВыборкаЗаказовПоСсылкеИЗПЛ.УстановитьПараметр("Дата2", НачалоДня(Дата)); 
    		ЗапросВыборкаЗаказовПоСсылкеИЗПЛ.УстановитьПараметр("Ответственный", Ответственный);
    		ЗапросВыборкаЗаказовПоСсылкеИЗПЛ.УстановитьПараметр("Номер", ЗаказСсылкаИзПЛ.Номер);
    		РезультатЗаказыПоСсылкеИзПЛ = ЗапросВыборкаЗаказовПоСсылкеИЗПЛ.Выполнить().Выгрузить();
    		Если РезультатЗаказыПоСсылкеИзПЛ.Количество() > 0 Тогда
    			Для Каждого СтрЗаказПоСсылкеИзПЛ Из РезультатЗаказыПоСсылкеИзПЛ Цикл
    				...
    			КонецЦикла;
    		КонецЕсли;
    	КонецЕсли;
    КонецЦикла;

    Ищем заказ по номеру. А номер берем из заказа. И, конечно же, их может оказаться множество. (КонтрольУникальности = Истина, периодичность = Непериодический).
    А также хитровылепленный способ убедиться, что заказ попадает в указанный период и имеет указанного ответственного.
    И, конечно же, запрос надо создавать заново для каждой СтрПЛ, а вдруг он испортился...
    Вот такие у нас крайне осторожные прогромисты.

    Запостил: mrbus, 13 Февраля 2012

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

    • Это при том, что чуть выше в той же процедуре
      Для Каждого СтрокаПЛ из ПутевыеЛисты Цикл
      	Если ЗначениеЗаполнено(СтрокаПЛ.ЗаказНаИспользованиеТС) = Ложь Тогда
      		Предупреждение("Один из путевых листов не привязан к заказу на использование ТС");
      		Возврат;
      	КонецЕсли;
      КонецЦикла;

      Но, повторяюсь, нужно обязательно лишний раз убедиться, что Не ЗаказСсылкаИзПЛ.Пустая()
      Ответить
    • > Документ.АСУ_ЗаказНаИспользованиеТС КАК АСУ_ЗаказНаИспользованиеТС
      Отличный синоним.
      Ответить
    • каждый раз, когда я вижу эти 100-символьные имена, я надеюсь, что они не вбиваются человеком вручную - IDE ведь автодополняет это безумие, стоит только набрать "Зап", правда?
      Ответить
      • > IDE
        И... Д... что?
        Ответить
        • ну гугл вроде бы намекает, что одноэсники хоть не в блохноте это всё набивают
          типа есть среда (среды) и даже типа интеллисекс определенный да
          Ответить
          • ИнтригированнаяСридаРасрапотки
            Ответить
          • Интеллисекас есть, только он дебильный в том плане, что нажмешь Запрос <точка> и одно яйцо ведро ядро процессора грузится на 100% в течении минуты и ты не можешь в это время ничего делать. Потом смотришь, сколько памяти "оно" сожрало, и нервно куришь. Чем больше конфигурация - тем хуже.
            И синтаксис "не до конца" контролирует...
            А всё из-за того, что язык нифига не типизированный...
            Ответить
            • Пхп \ javaScript тоже не типизированные, а пхпшторм не тупит.
              Ответить
            • быдлокодеры быдлокодерам, все логично
              Ответить
      • Конструктор запроса (визард). В принципе хорошая штука (контролирует синтаксис, форматирует с отступами...). К длинным именам уже привык...
        Ответить
    • показать все, что скрытоvanished
      Ответить

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