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

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
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    // при выводе строки в ТабличноеПоле1, перебор ячеек строки
 
    Для Каждого Ячейка Из ОформлениеСтроки.Ячейки Цикл
        // если имя текущей ячейки "НормаВремени"
 
        Если Ячейка.Имя = "НормаВремениТекст" Тогда     
            // получить норму времени текущего поста охраны на текущую дату и вывести в соотв. ячейку Тч
 
            Запрос = Новый Запрос;
            Запрос.Текст =
                "ВЫБРАТЬ
                |    НормыВремениПоПостамСрезПоследних.Период,
                |    НормыВремениПоПостамСрезПоследних.ПостОхраны,
                |    НормыВремениПоПостамСрезПоследних.НормаВремени
                |ИЗ
                |    РегистрСведений.НормыВремениПоПостам.СрезПоследних(&ВыбДата) КАК НормыВремениПоПостамСрезПоследних
                |ГДЕ
                |    НормыВремениПоПостамСрезПоследних.ПостОхраны = &Пост";
            Запрос.УстановитьПараметр("ВыбДата",ТекущаяДата());
            Запрос.УстановитьПараметр("Пост",   ДанныеСтроки.Ссылка);
            ТекНормаВремени = Запрос.Выполнить().Выгрузить();    
            //ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока[Ячейка.Имя].Значение = ТекНормаВремени[0].НормаВремени;
 
            ОформлениеСтроки.Ячейки["НормаВремениТекст"].ОтображатьТекст = Истина;
            //ОформлениеСтроки.Ячейки["НормаВремениТекст"].Значение        = ТекНормаВремени[0].НормаВремени;
 
            ОформлениеСтроки.Ячейки["НормаВремениТекст"].Текст           = ТекНормаВремени[0].НормаВремени;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

веселый цикл

Vezunchik Vezunchik, (Updated )

Комментарии (19, +19)

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

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
Модуль  объекта: Документ.ЗаявкаНаРасходованиеСредств

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ДОКУМЕНТА

//++Говнокодер
#Если Клиент Тогда
//--Говнокодер

Процедура ОбработкаПроведения(Отказ, Режим)
...
КонецПроцедуры

//++Говнокодер
#КонецЕсли
//--Говнокодер

- Документ проведен?
База: Проведен
Журнал регистрации: Проведен!
- А где движения?!
- А их нету, ибо документ проводился на сервере.

Плакали всем отделом, всплыло случайно, когда перенесли проведение в привилегированный режим. А говнокодер уже год как с нами не работает, привет ему :)

tr0y tr0y, (Updated )

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

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

0

  1. 1
  2. 2
  3. 3
  4. 4
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
	ДанныеСтроки.Осталось = ДанныеСтроки.Поступление - СуммаСтроки;
	Элемент.Колонки.Объем.ТекстПодвала = Товары.Итог("Объем");
КонецПроцедуры

Всё тот же Самоделкин. Обработка события при выводе строки.
Догодайтесь, в чём изюминка этой процедуры?

Kopchuga Kopchuga, (Updated )

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

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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
Дораспределить = Новый ТаблицаЗначений();
Дораспределить.Колонки.Добавить("Строка");
Дораспределить.Колонки.Добавить("Количество");
.....
Дораспределить.Очистить();
НовДораспределить = Дораспределить.Добавить();
НовДораспределить.Строка = Дораспределить[0].Строка;
НовДораспределить.Количество = Дораспределить[0].Количество - ОсталосьРаспределить;

Новые приключения Самоделкина. На этот раз у него не прокатило, в последней строке валится с ошибкой.

Kopchuga Kopchuga, (Updated )

Комментарии (4, +4)

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

0

  1. 1
  2. 2
  3. 3
Если Не Запрос.Выполнить().Пустой() Тогда
	Рез = Запрос.Выполнить().Выбрать();
КонецЕсли;

Пишу со слов друга, а он копает базу после местного самоделкина.
Такая конструкция там везде, а запросы часто сделаны к физическим таблицам с минимумом условий.

Kopchuga Kopchuga, (Updated )

Комментарии (10, +10)

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

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
Функция Таймер() Экспорт
    Скрипт= новый ComОбъект("MSScriptControl.ScriptControl");
    Скрипт.Language="javascript";
    ТекущееВремя = Скрипт.eval("new Date().getTime()");
    Возврат ТекущееВремя;
КонецФункции



...
Начало = Таймер();
...
начатьтранзакцию
...


зафиксироватьтранзакцию
...
Конец = Таймер();
ВремяРаботы = ФорматироватьВремя(Конец-Начало);
...

сообщить("--->"+ТекущаяДата());
вот что бывает, когда с явы пересаживаются в мэрс

sergecar sergecar, (Updated )

Комментарии (23, +23)

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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	ФизЛицо=Выборка.Физлицо;
	Состояние("Обробатывается - "+ФизЛицо.Ссылка);
...
КонецЦикла;

Если новичок порой может забыть указать реквизит ".Ссылка", где это требуется. То тут всё наоборот. Видать, чел настолько поднаторел, что только он знает, нахера тут ссылка. (про грамматику молчу)

Kopchuga Kopchuga, (Updated )

Комментарии (5, +5)

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

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
Запрос.Текст = 
"ВЫБРАТЬ
|	СостояниеРаботниковОрганизаций.Регистратор,
|	СостояниеРаботниковОрганизаций.ФизЛицо,
|	СостояниеРаботниковОрганизаций.Организация,
|	СостояниеРаботниковОрганизаций.Приказ,
|	СостояниеРаботниковОрганизаций.Состояние,
|	СостояниеРаботниковОрганизаций.Период
|ИЗ
|	(ВЫБРАТЬ
|		СостояниеРаботниковОрганизаций.Регистратор КАК ДокументРегистратор
|	ИЗ
|		РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
|	ГДЕ
|		СостояниеРаботниковОрганизаций.Период МЕЖДУ &ДатаНачала И &ДатаКонца
|		И СостояниеРаботниковОрганизаций.Организация = &Организация
|		И СостояниеРаботниковОрганизаций.ФизЛицо = &ФизЛицо
|		И СостояниеРаботниковОрганизаций.Приказ = &Приказ) КАК ДокРегистратор
|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
|		ПО ДокРегистратор.ДокументРегистратор = СостояниеРаботниковОрганизаций.Регистратор";
.

Просто выбрать движения из регистра - это не круто.

Kopchuga Kopchuga, (Updated )

Комментарии (5, +5)

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

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
Запрос1 = Новый Запрос;
	Запрос1.Текст = "ВЫБРАТЬ
	|	Номенклатура.ЕдиницаИзмерения
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	Номенклатура.Ссылка = &ном";
	
	
	Запрос1.УстановитьПараметр("Ном", ЭлементыФормы.Товары.ТекущаяСтрока.Номенклатура);
	
	
	
	Результат1 = Запрос1.Выполнить();
	Выборка1 = Результат1.Выбрать();
	
	Пока Выборка1.Следующий() Цикл
		ед = выборка1.единицаизмерения;
	КонецЦикла;			
	
	ЭлементыФормы.Товары.ТекущаяСтрока.ЕдИзм= ед;

"Простой" способ подставить единицу измерения в табличную часть))

vedvd vedvd, (Updated )

Комментарии (17, +17)

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

0

  1. 1
  2. 2
Движение.Состояние = Перечисления.СостоянияРаботникаОрганизации[Причина.Метаданные().ЗначенияПеречисления[Перечисления[Причина.Метаданные().Имя].Индекс(Причина)].Имя];
.

Видимо, защита от шпиона: вот так определяется значение перечисления. (Причина - это тоже перечисление)

Kopchuga Kopchuga, (Updated )

Комментарии (32, +32)