Имя: Пароль:
1C
1С v8
Запрос: ВЫРАЗИТЬ
, ,
0 Adgjj
 
03.07.12
13:27
Скажите, пжл, как ВыработкаТС_Лес.ПутЛист.ДатаВыезда в запросе преобразовать в строку?
|    ВЫРАЗИТЬ(ВыработкаТС_Лес.ПутЛист.ДатаВыезда КАК СТРОКА(19)) КАК ЧасВыезда, - говорит типы несовместимые
1 Ненавижу 1С
 
гуру
03.07.12
13:28
низзя
2 Adgjj
 
03.07.12
13:29
совсем-совсем?
3 Ненавижу 1С
 
гуру
03.07.12
13:29
(2) совсем-совсем можно
4 Adgjj
 
03.07.12
13:30
Это хочу сделать, чтобы код 1С7

   Если докПЛ.Вид() = "СдельныйПЛ" Тогда  
                       Если Строка(докПЛ.пРежим) = "Режим 67" Тогда  
                           Если (7<=Цел(докПЛ.ВремяВыезда)) и (Цел(докПЛ.ВремяВыезда)<19) Тогда    //'7:00'
                               ТЗ.Смена ="X"; //1 смена
                           Иначе
                               ТЗ.Смена ="Y"; //2 смена
                           КонецЕсли;
                           
                       ИначеЕсли  Строка(докПЛ.пРежим) = "Режим 19" Тогда
                           Если (8<=Цел(докПЛ.ВремяВыезда)) и (Цел(докПЛ.ВремяВыезда)<20) Тогда    
                               ТЗ.Смена ="X"; //1 смена
                           Иначе    
                               ТЗ.Смена ="Y"; //2 смена
                           КонецЕсли;
                       КонецЕсли;
                   ИначеЕсли (докПЛ.Вид() = "Ремонт") или (докПЛ.Вид() = "ПовременныйПЛ") Тогда
                       ТЗ.Смена ="X";
                   КонецЕсли;


написать внутри запроса на 1С8:
                  |            ВЫБОР КОГДА (ВыработкаТС_Лес.ПутЛист.ВидПЛ = ЗНАЧЕНИЕ(Перечисление.уатВидыПЛ._4С))   ТОГДА
                  |                ВЫБОР КОГДА (ВыработкаТС_Лес.ПутЛист.Режим_Лес = ЗНАЧЕНИЕ(Перечисление.РежимыРаботы_Лес.Режим_67)) ТОГДА
                  //|                        ""XY""
                  |                        ВЫБОР КОГДА ПОДСТРОКА(ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 2), 2, 1)="":"" ТОГДА
                  |                            ВЫБОР КОГДА 7<=ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 1) и ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 1)<19 ТОГДА
                  |                                ""X""
                  |                            ИНАЧЕ
                  |                                ""Y""
                  |                            КОНЕЦ  
                  |                            
                 
                  |                        ИНАЧЕ
                  |                            ВЫБОР КОГДА 7<=ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 2) и ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 2)<19 ТОГДА
                  |                                ""X""
                  |                            ИНАЧЕ
                  |                                ""Y""
                  |                            КОНЕЦ
                  |                        КОНЕЦ  
                  |                ИНАЧЕ //ЕСЛИ (ВыработкаТС_Лес.ПутЛист.Режим_Лес = ЗНАЧЕНИЕ(Перечисление.РежимыРаботы_Лес.Режим_19))  ТОГДА
                  //|                        ""XY""
                  |                        ВЫБОР КОГДА ПОДСТРОКА(ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 2), 2, 1)="":"" ТОГДА
                  |                            ВЫБОР КОГДА 8<=ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 1) и ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 1)<20 ТОГДА
                  |                                ""X""
                  |                            ИНАЧЕ
                  |                                ""Y""
                  |                            КОНЕЦ  
                  |                            
                 
                  |                        ИНАЧЕ
                  |                            ВЫБОР КОГДА 8<=ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 2) и ПОДСТРОКА(ВыработкаТС_Лес.ПутЛист.ДатаВыезда, 12, 2)<20 ТОГДА
                  |                                ""X""
                  |                            ИНАЧЕ
                  |                                ""Y""
                  |                            КОНЕЦ
                  |                        КОНЕЦ  

                  |                КОНЕЦ
                 
                  //|                    ТОГДА ""X""
                  |            ИНАЧЕ ""X""   //повременный, ремонт
                  |            КОНЕЦ КАК Смена,
5 gosn1ck
 
03.07.12
13:32
а нафига такой изврат, если есть функция ЧАС ?
6 Adgjj
 
03.07.12
13:34
спасибо (5), сейчас попробую

вопрос 2:  |                ИНАЧЕ //ЕСЛИ (ВыработкаТС_Лес.ПутЛист.Режим_Лес = ЗНАЧЕНИЕ(Перечисление.РежимыРаботы_Лес.Режим_19))  ТОГДА
комментарий стоит, потому что без него ругается
в выборе нельзя использовать иначеесли, только иначе?
7 sanja26
 
03.07.12
13:36
(6) иначе выбор
8 Molinor
 
03.07.12
13:41
(6)
ВЫБОР
КОГДА <> ТОГДА <>
КОГДА <> ТОГДА <>
...
КОНЕЦ

Вот тебе и ИначеЕсли
9 Adgjj
 
03.07.12
13:55
|            ВЫБОР
                   |                КОГДА (ВыработкаТС_Лес.ПутЛист.ВидПЛ = ЗНАЧЕНИЕ(Перечисление.уатВидыПЛ._4С))   ТОГДА
                   |                ВЫБОР КОГДА (ВыработкаТС_Лес.ПутЛист.Режим_Лес = ЗНАЧЕНИЕ(Перечисление.РежимыРаботы_Лес.Режим_67)) ТОГДА
                   |                        ВЫБОР КОГДА 7<=ЧАС(ВыработкаТС_Лес.ПутЛист.ДатаВыезда) и ЧАС(ВыработкаТС_Лес.ПутЛист.ДатаВыезда)<19 ТОГДА
                   |                            ""X""
                   |                        ИНАЧЕ
                   |                            ""Y""
                   |                        КОНЕЦ  
                   |                ИНАЧЕ ВЫБОР КОГДА (ВыработкаТС_Лес.ПутЛист.Режим_Лес = ЗНАЧЕНИЕ(Перечисление.РежимыРаботы_Лес.Режим_19))  ТОГДА
                   |                        ВЫБОР КОГДА 8<=ЧАС(ВыработкаТС_Лес.ПутЛист.ДатаВыезда) и ЧАС(ВыработкаТС_Лес.ПутЛист.ДатаВыезда)<20 ТОГДА
                   |                            ""X""
                   |                        ИНАЧЕ
                   |                            ""Y""
                   |                        КОНЕЦ  
                   |                      КОНЕЦ
                   |                КОНЕЦ
                   
                   //|                    ТОГДА ""X""
                   |                КОГДА (ВыработкаТС_Лес.ПутЛист.ВидПЛ = ЗНАЧЕНИЕ(Перечисление.уатВидыПЛ._4П))   ТОГДА
                                       ""X""
                   //|            ИНАЧЕ ""X""   //повременный, ремонт
                   |            КОНЕЦ КАК Смена,
(8) в этом случае после последнего ТОГДА надо еще выбор писать
10 hhhh
 
03.07.12
14:01
(9) ты наверно (8) не читала. Вообще Выбор пишешь только один раз вначале.
11 Adgjj
 
03.07.12
14:21
спасибо, а как написать
|            КОГДА ВыработкаТС_Лес.ПутЛист.ВидПЛ = ЗНАЧЕНИЕ(Перечисление.уатВидыПЛ._4П)  
                   |              или уатПростои.Регистратор ССЫЛКА Документ.уатРемонтныйЛист ТОГДА

ругается на уатПростои.Регистратор ССЫЛКА Документ.уатРемонтныйЛист
несовместимые типы "ССЫЛКА"
12 Adgjj
 
03.07.12
14:26
|            ВЫБОР
                   |            КОГДА  ВыработкаТС_Лес.ПутЛист.ВидПЛ = ЗНАЧЕНИЕ(Перечисление.уатВидыПЛ._4С)   ТОГДА
                   |                ВЫБОР
                   |                КОГДА (ВыработкаТС_Лес.ПутЛист.Режим_Лес = ЗНАЧЕНИЕ(Перечисление.РежимыРаботы_Лес.Режим_67)) ТОГДА
                   |                        ВЫБОР КОГДА 7<=ЧАС(ВыработкаТС_Лес.ПутЛист.ДатаВыезда) и ЧАС(ВыработкаТС_Лес.ПутЛист.ДатаВыезда)<19 ТОГДА
                   |                            ""X""
                   |                        ИНАЧЕ
                   |                            ""Y""
                   |                        КОНЕЦ  
                   |                КОГДА (ВыработкаТС_Лес.ПутЛист.Режим_Лес = ЗНАЧЕНИЕ(Перечисление.РежимыРаботы_Лес.Режим_19))  ТОГДА
                   |                        ВЫБОР КОГДА 8<=ЧАС(ВыработкаТС_Лес.ПутЛист.ДатаВыезда) и ЧАС(ВыработкаТС_Лес.ПутЛист.ДатаВыезда)<20 ТОГДА
                   |                            ""X""
                   |                        ИНАЧЕ
                   |                            ""Y""
                   |                        КОНЕЦ  
                   |                      КОНЕЦ
                   |                КОНЕЦ
                   |            КОГДА ВыработкаТС_Лес.ПутЛист.ВидПЛ = ЗНАЧЕНИЕ(Перечисление.уатВидыПЛ._4П)  
                   //|              или уатПростои.Регистратор ССЫЛКА Документ.уатРемонтныйЛист
                   |              ТОГДА
                   |                ""X""
                   |            КОНЕЦ КАК Смена,

Скажите, пжл, где здесь ошибка. Когда комментируют второй сверху ВЫБОР, нет ошибки. Наверно, если используется (8) ИНАЧЕ уже нельзя использовать?
13 Adgjj
 
03.07.12
14:28
нашла: КОНЕЦ лишний
14 Adgjj
 
03.07.12
14:29
остался вопрос (11)