Имя: Пароль:
1C
1С v8
Вопрос по оформлению кода
0 Пеппи
 
20.06.12
18:32
Фирма прислала мне ответ

качество выполненного тестирования не отвечает требованиям наших специалистов.


1. Текст программы не отформатирован.


Вопрос. Что означает п.1 ?

Какие требования предъявляются к форматированию кода?
1 Fragster
 
гуру
20.06.12
18:34
контрол + а, контрол + шифт + ф
2 rbcvg
 
20.06.12
18:34
Откуда нам знать, что Вы им отправляли?
3 Fragster
 
гуру
20.06.12
18:34
альт + шифт + ф
4 Пеппи
 
20.06.12
18:36
(3) поняла, спасибо :)

а есть требования к пропускам между строчками?
5 izekia
 
20.06.12
18:36
а я кнопочками форматирую
6 Пеппи
 
20.06.12
18:36
(5) делись
7 izekia
 
20.06.12
18:37
((6) а не, это в семерке было
8 izekia
 
20.06.12
18:38
даже и не заметил, что в восьмерке такого уже нет
9 pumbaEO
 
20.06.12
18:38
а знаки равно надо выравнивать?
10 Asmody
 
20.06.12
18:39
(0) это единственная претензия?!
11 izekia
 
20.06.12
18:39
(4) строчками отделяются логические блоки и функции и тп, чтобы удобнее читать было
12 izekia
 
20.06.12
18:40
(9) этого ни в каких стандартах нет
13 Господин ПЖ
 
20.06.12
18:40
(4) если ты про эту комбинацию слышишь в первый раз - даже нет смысла обвинять в чем-то фирму...
14 ОбычныйЧеловек
 
20.06.12
18:40
Пеппи - тебе самой смотреть на не отформатированный текст как? Ничего не смущает?
15 andrewks
 
20.06.12
18:41
(0) пижоны. код надо оценивать по читабельности, оптимальности и грамотности. а придираться к лишним или недостающим пробелам - это пижонство
16 Пеппи
 
20.06.12
18:41
(10) нет, но мне больше всего это непонятно.
17 Нууф-Нууф
 
20.06.12
18:42
Покажи код
18 Пеппи
 
20.06.12
18:42
(13) а кто обвинял?
19 zak555
 
20.06.12
18:43
(17) +1
20 zyto
 
20.06.12
18:44
Покажи остальные претензии :)
21 izekia
 
20.06.12
18:44
а не лучше ли фото?
22 ОбычныйЧеловек
 
20.06.12
18:45
(15) Если код не отформатирован - то дальше его смотретьсмысла нет никакого... Такой код сразу в утиль...
23 Господин ПЖ
 
20.06.12
18:45
(18) а к чему тогда ветка?
24 Пеппи
 
20.06.12
18:45
(20) блин, да не старалась я писать обработку, так...тяп ляп на скорую руку. Просто про форматирование первый раз слышу. остальные претензии в 3 строки мне самой понятны вполне и как говорится просто детали. :))
25 Господин ПЖ
 
20.06.12
18:46
(15) так читабельный или не отформатированный?
26 Пеппи
 
20.06.12
18:46
(23) ну и придира. Совета спрашиваю ведь. :)

Fragster спасибо тебе большое за ответ.

Как всегда на мисте информативны только первые 3 поста :))
27 andrewks
 
20.06.12
18:47
(22) что значит "код не отформатирован"?

если я напишу:  МояПерем=1;  - это не отформатирован?
если у меня нет пустой строки между каждыми двумя строками с текстом - это не отформатирован?
28 Hostess_
of_Love
 
20.06.12
18:48
Выложи уже код :) можешь и мой выложить =))
29 ОбычныйЧеловек
 
20.06.12
18:49
(27) Просто интересно - ты понимаешь,что такое "отформатировать код" ?
30 Пеппи
 
20.06.12
18:49
Процедура КнопкаСформироватьНажатие(Кнопка)
   
   Если  ЭлементыФормы.НачДата.Значение = '00010101' И ЭлементыФормы.КонДата.Значение <> '00010101' Тогда
       НачДата = '00010101';
       КонДата = КонецДня(ЭлементыФормы.КонДата.Значение);
   ИначеЕсли ЭлементыФормы.КонДата.Значение = '00010101' И ЭлементыФормы.НачДата.Значение <> '00010101' Тогда
       НачДата = ЭлементыФормы.НачДата.Значение;
       КонДата = КонецДня(ТекущаяДата());
   ИначеЕсли ЭлементыФормы.НачДата.Значение = '00010101' и ЭлементыФормы.КонДата.Значение = '00010101' Тогда
       НачДата = '00010101';
       КонДата = КонецДня(ТекущаяДата());
   иначе
       НачДата = ЭлементыФормы.НачДата.Значение;
       КонДата = КонецДня(Элементыформы.КонДата.Значение);
   КонецЕсли;
   
   ТекстЗапроса = "";
   
   Для Каждого МетаданныеДокумента Из Метаданные.Документы Цикл
       ИмяТаблицы = МетаданныеДокумента.Имя;
       ВидДокумента = ?(ЗначениеЗаполнено(МетаданныеДокумента.Синоним), МетаданныеДокумента.Синоним, ИмяТаблицы);
       
       Если МетаданныеДокумента.ДлинаНомера = 0 Тогда
           ТекстЗапроса = ТекстЗапроса + "
           |ОБЪЕДИНИТЬ ВСЕ
           |
           | ВЫБРАТЬ
           |   0 КАК Номер,
           |   ТаблицаДокумента.Дата КАК Дата,
           |   Null КАК Ответсвенный,
           |   """ + ВидДокумента + """ КАК ВидДокумента
           | ИЗ Документ." + ИмяТаблицы + " КАК ТаблицаДокумента
           | ГДЕ ТаблицаДокумента.Дата МЕЖДУ &ДатаНачала и &ДатаОкончания
           |";
       ИначеЕсли МетаданныеДокумента.Реквизиты.найти("Ответственный") = Неопределено Тогда
           ТекстЗапроса = ТекстЗапроса + "
           |ОБЪЕДИНИТЬ ВСЕ
           |
           | ВЫБРАТЬ
           |   естьNull(ТаблицаДокумента.Номер,0) КАК Номер,
           |   ТаблицаДокумента.Дата КАК Дата,
           |   Null КАК Ответсвенный,
           |   """ + ВидДокумента + """ КАК ВидДокумента
           | ИЗ Документ." + ИмяТаблицы + " КАК ТаблицаДокумента
           | ГДЕ ТаблицаДокумента.Дата МЕЖДУ &ДатаНачала и &ДатаОкончания
           |";
       Иначе
           ТекстЗапроса = ТекстЗапроса + "
           |ОБЪЕДИНИТЬ ВСЕ
           |                                                                                      
           | ВЫБРАТЬ
           |   естьNull(ТаблицаДокумента.Номер,0) КАК Номер,
           |   ТаблицаДокумента.Дата КАК Дата,
           |   ТаблицаДокумента.Ответственный КАК Ответсвенный,
           |   """ + ВидДокумента + """ КАК ВидДокумента
           | ИЗ Документ." + ИмяТаблицы + " КАК ТаблицаДокумента
           | ГДЕ ТаблицаДокумента.Дата МЕЖДУ &ДатаНачала и &ДатаОкончания
           |";
       КонецЕсли;
   КонецЦикла;
   ТекстЗапроса = Сред(ТекстЗапроса, 16);
   
   Запрос = Новый Запрос;
   Запрос.Текст = ТекстЗапроса;
   Запрос.УстановитьПараметр("ДатаНачала",НачДата);
   Запрос.УстановитьПараметр("ДатаОкончания",(КонДата));
   РезультатЗапроса = Запрос.Выполнить().Выгрузить();
   Элементыформы.Результат.Значение = РезультатЗапроса;
   ЭлементыФормы.Результат.СоздатьКолонки();
   
КонецПроцедуры


Процедура ВыбПериодНажатие(Элемент)
   
   НастройкаПериода = Новый НастройкаПериода;
   
   НастройкаПериода.УстановитьПериод(НачДата, ?(КонДата='0001-01-01', КонДата, КонецДня(КонДата)));
   НастройкаПериода.РедактироватьКакИнтервал = Истина;
   НастройкаПериода.РедактироватьКакПериод = Истина;
   НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
   
   Если НастройкаПериода.Редактировать() Тогда
       НачПериода = НастройкаПериода.ПолучитьДатуНачала();
       КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
   КонецЕсли;
   
КонецПроцедуры
31 Пеппи
 
20.06.12
18:50
(28) выложила, так уж и быть :))
32 Господин ПЖ
 
20.06.12
18:50
(26) >Совета спрашиваю ведь.

на совет - читать ИТС периодически. Там все написано как должно быть...
33 quest
 
20.06.12
18:50
(11) про процедуры/функции понятно.  
А вот логические блоки это что?
34 andrewks
 
20.06.12
18:51
(29) вполне
35 ОбычныйЧеловек
 
20.06.12
18:52
(34) Тогда к чему такой странный вопрос в (27) ?
36 izekia
 
20.06.12
18:52
(30) кроме иначе с мелкой буквы вроде все остальное ок
37 ОбычныйЧеловек
 
20.06.12
18:54
(36) нуда... и то, что к реквизитам на форме зачем то идет обращение - можно внимание не обращать.....
38 andrewks
 
20.06.12
18:54
(35) Просто интересно - ты понимаешь,что такое "отформатировать код" ?
39 Пеппи
 
20.06.12
18:54
(36) "качество выполненного тестирования не отвечает требованиям наших специалистов."
40 Пеппи
 
20.06.12
18:55
(37) А куда должно идти обращение если параметры периода задаются на форме? ;)
41 Господин ПЖ
 
20.06.12
18:56
бывало и хуже... не взяли - ну и ладно... не связывайся с занудами

только вот (37) - реальный косяк
42 andrewks
 
20.06.12
18:57
(40) к реквизиту формы
43 Господин ПЖ
 
20.06.12
18:57
(40) ты не поверишь... но у формы или обработки есть переменная на которую забинден этот контрол, значение которого ты выковыриваешь...
44 Hostess_
of_Love
 
20.06.12
18:57
Реквизитов у отчета нету. Надо было?
45 andrewks
 
20.06.12
18:57
+(42) а не к элементу формы
46 Пеппи
 
20.06.12
18:58
(41) да ничего страшного, Просто урок. И то полезно :)

(42)(43) Учту. Спасибо.
47 andrewks
 
20.06.12
18:58
"не взяли - ну и ладно... не связывайся с занудами " +100
48 Галахад
 
гуру
20.06.12
18:59
Странная какая-то задача. Считают кто сколько документов наколотил?
49 Hostess_
of_Love
 
20.06.12
19:00
Меня тоже в ту же фирму не взяли. Только косяков не сообщили
50 pumbaEO
 
20.06.12
19:01
(49) поди сказали напиши тестовое задание, вот тут лизинговые договора учитывать и т.д. и т.п.?
51 Пеппи
 
20.06.12
19:01
(48) Разработать внешний отчёт, формирующий список документов всех видов за заданный период на 8.1-8.2. Любая конфигурация.
52 Hostess_
of_Love
 
20.06.12
19:03
(50) задание в (51)
53 pumbaEO
 
20.06.12
19:03
54 Галахад
 
гуру
20.06.12
19:04
(51) А, так это просто тестовая задача. Тогда понятно.
55 Пеппи
 
20.06.12
19:09
(53)да, но для любой конфигурации.
56 Hostess_
of_Love
 
20.06.12
19:09
(54)что понятно-то?)))
57 pumbaEO
 
20.06.12
19:12
(55) давай свою любую конфигурацию, не вижу проблем.
58 Галахад
 
гуру
20.06.12
19:13
(56) Понятно, что пользы от этой задачи не ожидается. Просто тест.

Кстати, что за контора?
59 zak555
 
20.06.12
19:14
(57) код будет не универсальный

его нужно будет править для каждой конифграции
60 pumbaEO
 
20.06.12
19:17
(59) дурачком притворяюсь... я ведь типа не могу выдернуть из примера код который генерит данный запрос... :)
61 Галахад
 
гуру
20.06.12
19:17
(59) Любая конфигурация и для любой конфигурации немного разные вещи.
62 ZaRodinyZa Stalina
 
20.06.12
19:40
зацените что мне прислали тестовое, жлобы, испыталка у них 30 т.(самара)
главбухбух долго подозрительно косилась и спрашивала умею ли я корректно обновлять, а то их _удак программист последний раз накосячил, вот этот что этот _удак прислал на почту:

Учет обращений в ИТ отдел
Предлагается разбить процесс приема и учета заявок в ИТ отдел на следующие этапы:
Сотрудник подает заявку
Заявка попадает к руководителю, он назначает исполнителя
Исполнитель выполняет заявку
Сотрудник подтверждает выполнение заявок или возвращает заявку исполнителю.

Описание процесса
1. Любой сотрудник имеет возможность подать заявку в ИТ отдел.
2. У руководителя ИТ есть возможность увидеть список всех заявок в ИТ отдел.
Заявки со статусами.
Заявка в статусе «принята» говорит о том, что заявка только что подана и нужно назначить исполнителя.
Заявка в статусе «назначен исполнитель» говорит о том, что заявка в работе. В этом статусе выставляется срок выполнения заявки.
Заявка в статусе «ожидается подтверждение» говорит о том, что заявка выполнена исполнителем и ожидается подтверждение ее выполнения заказчиком.
После подтверждения заявка получает статус «выполнена». Сотрудник может отказаться подтверждать выполнение заявки, если его не устраивает то, что сделано. Тогда заявка либо переходит в статус «назначен исполнитель», либо получает статус «не выполнена».
3. Исполнитель видит список не выполненных заявок, у которых он является исполнителем и исполняет их в соответствии с указанными сроками
4. Сотрудник видит список заявок, у которых он является заказчиком. Видит в каком статусе находятся заявки. Не видит он только выполненные заявки.
5. Есть возможность оценить загруженность каждого исполнителя.
6. Есть возможность посмотреть отчет о выполненных и не выполненных заявках и оценить сроки выполнения заявок.
63 Галахад
 
гуру
20.06.12
19:44
(62) Годное ТЗ.
64 zak555
 
20.06.12
19:46
(61) ???
65 Галахад
 
гуру
20.06.12
19:54
(64) Задачу в (51) можно понять как, разработать отчет на любой конфигурации которую выберет тестируемый, а не любой вообще.
66 DrShad
 
20.06.12
20:05
(65) я бы именно так и понял
67 Пеппи
 
20.06.12
20:18
А в результате -
качество выполненного тестирования не отвечает требованиям наших специалистов.
68 catena
 
20.06.12
20:26
(67)
Вот это вообще не понятно:

Если  ЭлементыФормы.НачДата.Значение = '00010101' И ЭлементыФормы.КонДата.Значение <> '00010101' Тогда
       НачДата = '00010101';
       КонДата = КонецДня(ЭлементыФормы.КонДата.Значение);
   ИначеЕсли ЭлементыФормы.КонДата.Значение = '00010101' И ЭлементыФормы.НачДата.Значение <> '00010101' Тогда
       НачДата = ЭлементыФормы.НачДата.Значение;
       КонДата = КонецДня(ТекущаяДата());
   ИначеЕсли ЭлементыФормы.НачДата.Значение = '00010101' и ЭлементыФормы.КонДата.Значение = '00010101' Тогда
       НачДата = '00010101';
       КонДата = КонецДня(ТекущаяДата());
   иначе
       НачДата = ЭлементыФормы.НачДата.Значение;
       КонДата = КонецДня(Элементыформы.КонДата.Значение);
   КонецЕсли;

Про ЭлементыФормы уже говорили.
Первые три условия равносильны двум проверкам на заполненность, а последнее вообще не имеет смысла - про конец дня в задании вроде не было и в любом случае лучше преобразовывать при выборе периода.

Кстати, при выборе периода тоже не понятно: вроде реквизиты на форме НачДата и КонДата, а в процедуре устанавливаете НачПериода и КонПериода...
69 Пеппи
 
20.06.12
20:34
А это не мой код, я бы сделала по другому. Проверила бы заполненность даты, но мне было честно говоря было лень. Как написала так и отправила. Но тоже проверяла бы значение элементов форм.
70 catena
 
20.06.12
20:36
(69)Ну а что ж обижаетесь? Как написали, так и ответили :) Задание не сложное, можно было бы потратить 5 минут на отшлифовку.
71 Пеппи
 
20.06.12
20:39
(70) да не обижаюсь, просто заинтересовала фраза про форматирование. Не поняла даже что они имеют в виду. :)
72 Krendel
 
20.06.12
20:53
(63) Жто не ТЗ а ФЗ
73 Krendel
 
20.06.12
20:53
*Это
74 Vladal
 
21.06.12
10:20
Интересно, а пережили бы в той компании такой вот код:

Function глВставитьСимволы(СтрИст,Позиц,Символы) Export    If Позиц<0 Then Возврат СтрИст+Символы; EndIf;If Позиц=0 Then Возврат Символы+СтрИст; EndIf;While Позиц>StrLen(СтрИст) Do СтрИст=СтрИст+" ";EndDo;Возврат Mid(СтрИст,1,Позиц-1)+Символы+Mid(СтрИст,Позиц,StrLen(СтрИст)-Позиц+1);    EndFunction
Function глЗаменитьСимволы(СтрИст,Позиц,Символы) Export    If (Позиц<=0)OR(Позиц>StrLen(СтрИст)) Then Возврат СтрИст; EndIf;Символы=Лев(Символы,StrLen(СтрИст)-Позиц);Возврат Лев(СтрИст,Позиц-1)+Символы+Прав(СтрИст,StrLen(Символы)-Позиц);EndFunction

Или их бы всех схвыатил Кондоратий ))))
75 PiVa123
 
21.06.12
10:26
Название компании секретное ?