Имя: Пароль:
1C
Админ
При проведении документа
0 kotokent
 
30.01.14
08:35
При проведении документа проверять что водитель выбранный в "Рейсе" в дату документа присутствует только в одном документа, т.е. одна поездка в день!

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если РежимЗаписи = РежимЗаписиДокумента.Проведение И Не Проведен Тогда
Выборка = Справочники.Рейсы.Выбрать(НачалоДня(Дата), КонецДня(Дата));
    Пока Выборка.Следующий() Цикл
        Если Выборка.Водитель = Рейс.Водитель Тогда
            Сообщить("Этот водитель в другом Рейсе!!!");
            Рейс.Водитель = Справочники.Рейсы.ПустаяСсылка();
            Прервать;
        КонецЕсли;  
    КонецЦикла;
    
//
    КонецЕсли;
    
КонецПроцедуры
1 Ненавижу 1С
 
гуру
30.01.14
08:36
и чего?
2 butterbean
 
30.01.14
08:36
если нужно проверять документу, то почему ты проверяешь справочник??
3 Ненавижу 1С
 
гуру
30.01.14
08:37
мне кажется справочник рейсов есть глупость
4 kotokent
 
30.01.14
08:37
(0)Что не так,"Водитель" - реквизит справочника "Рейс", а нужно его проверить из документа "Реализация товаров и услуг", куда просто выбирается нужный рейс
5 butterbean
 
30.01.14
08:37
(2)+ юзай запрос
6 Wobland
 
30.01.14
08:38
а зачем запись?
7 kotokent
 
30.01.14
08:39
(6) в смысле?
8 Ненавижу 1С
 
гуру
30.01.14
08:39
(0) а если он был проведен и поменяли рейс, то покуй?
9 Wobland
 
30.01.14
08:39
(7) надо проведение, а ты юзаешь запись
10 butterbean
 
30.01.14
08:40
(9) это он правильно делает, только надо еще отказ = Истина и все это в форме
11 kotokent
 
30.01.14
08:41
(9) так режим записи проведение
12 Wobland
 
30.01.14
08:42
я так понимаю, просить рассказать нам про адов справочник Рейсы бесполезно?
13 Рэйв
 
30.01.14
08:43
(0)Запросом с
ГДЕ Ссылка<>&ТекСсылка
14 kotokent
 
30.01.14
08:45
15 1dvd
 
30.01.14
08:46
(14) жесть
16 Wobland
 
30.01.14
08:51
не надо проверять наличие водителей _в документах_. просто поверь
17 fmrlex
 
30.01.14
08:51
(14) Справочники для справочной информации.
Для рейсов надо документ+регистры.
18 kotokent
 
30.01.14
08:53
(17) ну у меня задача так поставлена, пока без регистров
19 kotokent
 
30.01.14
08:54
(16)

Выборка = Документы.РеализацияТоваровУслуг.Выбрать(НачалоДня(Дата), КонецДня(Дата));
    Пока Выборка.Следующий() Цикл
        Если Выборка.Рейс.Водитель = //ЧТО ТО
            Тогда
            Сообщить("Этот водитель в другом Рейс!!!");
            Рейс.Водитель = Справочники.Рейсы.ПустаяСсылка();
            Прервать;
        КонецЕсли;  
    КонецЦикла;
20 Wobland
 
30.01.14
08:55
(18) "присутствует только в одном документа" ещё не означает, что о регистрах нужно забыть
21 Wobland
 
30.01.14
09:02
кстати, заметил, что в номере ты хочешь "rus", а в базе хранится без этого?
22 kotokent
 
30.01.14
09:04
(21) да, я это в маске поляввода прописал, а в коде что то не получилось если маску удалить
23 kotokent
 
30.01.14
09:04
(21) что мне вставить в "//что то"
24 kotokent
 
30.01.14
09:05
или это не правильно вообще
25 Wobland
 
30.01.14
09:06
(23) выплюнь эту гадость, перестань плодить управляемые формы в обычном приложении и почитай Радченко. мне две недели на него хватило
26 kotokent
 
30.01.14
09:08
(25) так у меня сейчас документ обычная форма
27 Wobland
 
30.01.14
09:12
что находится между 3й и 445й страницей у Радченко? ;)
28 Wobland
 
30.01.14
09:13
вот как освоишь 444ю, тогда и приходи
29 Infsams654
 
30.01.14
09:14
(18) "ну у меня задача так поставлена" - так покажи этому задачнику, как нормально надо делать.
Есть путевой лист, закрепленный в стандартных формах по ОКУД
30 kotokent
 
30.01.14
09:17
(28) Радченко М.Г., Хрусталева Е.Ю. 1С Предприятие 8.2. Практическое пособие разработчика (2009)


?
31 Wobland
 
30.01.14
09:19
(30) подойдёт
32 Любопытная
 
30.01.14
09:26
Слушайте, про рейсы и водителей же было уже что-то. От не очень нежной девушки по имени, по-моему, Катя....
33 Wobland
 
30.01.14
09:27
(32) по часовому поясу подходит вроде. только она - казашка, а тут Омск
34 Любопытная
 
30.01.14
09:28
(33) Это вполне могут быть разные люди, просто возможно он делает тоже самое
35 catena
 
30.01.14
09:39
(33)На заборе тоже написано... Я все-таки оптимист, я не верю в существование всех этих людей.
36 kotokent
 
30.01.14
10:55
(35) (34) (33)
ну что вы так к бедным студентам
37 kotokent
 
30.01.14
10:56
может кто то сказать, в правильном я направлении или нет?
38 Wobland
 
30.01.14
10:58
(37) нет

Мы не просим вас на нас молиться — фактически, большинство из нас хотели бы общаться с вами на равных и принять вас в свою культуру, если вы приложите необходимые для этого усилия. Но для нас просто неэффективно пытаться помочь людям, которые не хотят помочь себе сами. Быть грубым - нормально, а вот прикидываться идиотом - нет. © http://segfault.kiev.ua/smart-questions-ru.html
39 kotokent
 
30.01.14
11:53
как перебрать документы по дате?
40 Wobland
 
30.01.14
11:54
лучше запросом
41 kotokent
 
30.01.14
11:57
(40)
"ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Дата
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |    РеализацияТоваровУслуг.Дата = &Дата"
42 kotokent
 
30.01.14
11:59
(40)
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |    РеализацияТоваровУслуг.Дата = &Дата";

    Запрос.УстановитьПараметр("Дата", Дата);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
43 Wobland
 
30.01.14
12:08
что это за хламидомонада?
44 kotokent
 
30.01.14
12:17
(43) я пытаюсь
45 Infsams654
 
30.01.14
12:24
(44) так, ребята, о какой конфигурации идет речь?
От куда в документе реализации взялся рейс ?
46 kotokent
 
30.01.14
12:25
(43)

Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Водитель", Рейс.Водитель);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Рейсы КАК Рейсы
        |        ПО РеализацияТоваровУслуг.Рейс = Рейсы.Ссылка
        |ГДЕ
        |    РеализацияТоваровУслуг.Дата = &Дата
        |    И РеализацияТоваровУслуг.Рейс.Водитель = &Водитель" ;
        
    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
47 kotokent
 
30.01.14
12:26
(45) это я сам добавил, Управление торговлей 10,3
48 Infsams654
 
30.01.14
12:27
(47) а зачем ?
49 kotokent
 
30.01.14
12:28
(45) подска что нибудь, я вроде запрос сформулировал, теперь надо как то проверить по датам и водителям чтобы в один день была одна пооездка у водителя
50 kotokent
 
30.01.14
12:28
(48) учусь я
51 catena
 
30.01.14
12:29
(48)Студент, диплом.

(46)Ты уверен, что тебе нужно именно
ГДЕ
РеализацияТоваровУслуг.Дата РАВНО &Дата
52 Wobland
 
30.01.14
12:30
а почему факты поездок определяются по документам?
53 kotokent
 
30.01.14
12:31
(51) ну мне нужна дата документа который проводим и сравнить ее с другиму датами документов, а потом водителей рейсов
54 Infsams654
 
30.01.14
12:33
(49) а перейти на УТ 11 ?
Или это как бы упражнения на вольную тему ?

(52) в УТ 11 как раз в документе реализации куча реквизитов по транспорту, что, считаю, неправильно так
55 Serg_1960
 
30.01.14
12:35
Имхо: "схема" автора со справочником рейсов нежизнеспособная изначально. Перепроведение документов за период, отличный от текущего дня или перепроведение документа "задним числом" - не поддерживает.
56 kotokent
 
30.01.14
12:35
(51) вроде и правда не нужно, он мне же будет по текущей дате их искать
57 kotokent
 
30.01.14
12:36
(54) перейти на УТ 11, это у меня еще будет такое задание
58 kotokent
 
30.01.14
12:38
(51) CATENA, я прав, у меня он сечас если убрать эту строчку будет искать только водителей
59 Infsams654
 
30.01.14
12:39
(49) да, ешкин кот. Водитель может развести за 1 день кучу товаров, т.е. сделать кучу документов реализации за 1 рейс, либо несколькими рейсами в день, т.к. и контрагенты (договоры) в рейсе могут быть разные, либо разными рейсами можно сделать реализацию одному покупателю
60 Serg_1960
 
30.01.14
12:41
(58) Нет, не прав :)

...
ГДЕ НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата)
...
61 kotokent
 
30.01.14
12:41
(60)

Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Водитель", Рейс.Водитель);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Рейсы КАК Рейсы
        |        ПО РеализацияТоваровУслуг.Рейс = Рейсы.Ссылка
        |ГДЕ
        |    РеализацияТоваровУслуг.Рейс.Водитель = &Водитель" ;
        
    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Если ВыборкаДетальныеЗаписи = Рейс.Водитель Тогда
            Сообщить ("Водитель на выезде");
            Отказ Истина;
        КонецЕсли;
    КонецЦикла;
62 kotokent
 
30.01.14
12:42
(60) блин, я был уверен что уже на финише
63 Wobland
 
30.01.14
12:42
(61) признайся, что не запускал
64 kotokent
 
30.01.14
12:42
(63) нет
65 kotokent
 
30.01.14
12:43
(63) :)
66 kotokent
 
30.01.14
12:51
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Водитель", Рейс.Водитель);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Рейсы КАК Рейсы
        |        ПО РеализацияТоваровУслуг.Рейс = Рейсы.Ссылка
        |ГДЕ
        |    НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
        |    И РеализацияТоваровУслуг.Рейс.Водитель = &Водитель" ;
        
        
    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Если ВыборкаДетальныеЗаписи = Рейс.Водитель Тогда
            Сообщить ("Водитель на выезде");
            Прервать;
        КонецЕсли;
    КонецЦикла;
67 kotokent
 
30.01.14
12:52
чего то не хватает, он его проводит, только цикл Пока как то мало ходит
68 Wobland
 
30.01.14
12:58
(67) хм.. с чего бы?
69 kotokent
 
30.01.14
13:01
(68) ну скажи что не так то
70 Wobland
 
30.01.14
13:01
(69) не надо проверять наличие водителей _в документах_. просто поверь
71 kotokent
 
30.01.14
13:05
(70) он 3 раза по "пока" ходит и что то ищет, не могу посмотреть что
72 kotokent
 
30.01.14
13:06
(70) но он не заходит в если
73 Wobland
 
30.01.14
13:08
(72) даа?
74 kotokent
 
30.01.14
13:11
(73) я понял, он у меня смотри документы с одинаковой датой, я сейчас эксперементировал :)
75 kotokent
 
30.01.14
13:11
(73) теперь необходимо сравнивать в них водителей
76 fmrlex
 
30.01.14
13:13
Если ВыборкаДетальныеЗаписи = Рейс.Водитель Тогда

Беда бедовая.
77 kotokent
 
30.01.14
13:15
(76) я понял что здесь ошибка
78 Wobland
 
30.01.14
13:16
вот бы ещё посмотреть на значения обоих операндов...
79 kotokent
 
30.01.14
13:18
(78) ну
80 kotokent
 
30.01.14
13:18
(78) через отладчик ВыборкаДетальныеЗаписи - не показывает
81 Wobland
 
30.01.14
13:19
(80) вообще ничего? %-\
82 kotokent
 
30.01.14
13:22
(81) ща
83 fmrlex
 
30.01.14
13:23
(80) Слушай ну не тебе ли советовали отойти от компьютера и почитать книжку о программировании?
84 kotokent
 
30.01.14
13:23
85 kotokent
 
30.01.14
13:24
(83) пока некогда, дома на телефон кину и в свободное время буду читать
86 Wobland
 
30.01.14
13:24
(84) фига се ничего
87 Wobland
 
30.01.14
13:24
(86) *фигасе не показывает
88 kotokent
 
30.01.14
13:25
(87) так там ошибка
89 Wobland
 
30.01.14
13:26
(88) боишься заразиться?
90 catena
 
30.01.14
13:26
Если Рейс.Водитель="Водила"

пяяяять)))
91 catena
 
30.01.14
13:27
(88)Нажми ф10, не будет ошибки.
92 kotokent
 
30.01.14
13:27
(90) да это я эксперементирую
93 kotokent
 
30.01.14
13:27
(91) точняк
94 catena
 
30.01.14
13:28
(93)И не проверяй в цикле, верни проверку в запросе.
95 kotokent
 
30.01.14
13:28
блин, как мне его сравнить то
96 Wobland
 
30.01.14
13:29
(95) можешь рассказать самому себе, что и чем сравнить
97 kotokent
 
30.01.14
13:29
(94) это примерно как (66)
98 kotokent
 
30.01.14
13:30
(96) текущего водителя в документе с водителем документа который провожу
99 catena
 
30.01.14
13:30
(97)"и не проверяй в цикле"
100 Любопытная
 
30.01.14
13:31
(96) Сколько у тебя терпения...
101 kotokent
 
30.01.14
13:33
(96) (99) (100)
да вы мне одни хоть помогаете, так бы уже забился в угол и плакал :)
102 Любопытная
 
30.01.14
13:36
(101) а может наоборот - взял бы себя руки и сделал?
103 Wobland
 
30.01.14
13:36
(101) только не открывай БСП (УТ11, БП3 там..). добавится ещё потливость ладоней и необъяснимое чувство страха и тревоги
104 Любопытная
 
30.01.14
13:38
(101) у тебя Рейс.Водитель это что за тип?
105 kotokent
 
30.01.14
13:39
(104) (103)
погодите
106 kotokent
 
30.01.14
13:39
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Водитель", Рейс.Водитель);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Рейсы КАК Рейсы
        |        ПО РеализацияТоваровУслуг.Рейс = Рейсы.Ссылка
        |ГДЕ
        |    НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
        |    И РеализацияТоваровУслуг.Рейс.Водитель = &Водитель" ;
        
        
    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Сообщить ("Водитель на выезде");
        //Если Рейс.Водитель = "Водила" Тогда
        //    Сообщить ("Водитель на выезде");
        //    Прервать;
        //КонецЕсли;
    КонецЦикла;
107 Wobland
 
30.01.14
13:40
(100) оо, моё терпение лучше оценивать в романтической обстановке ;)
108 kotokent
 
30.01.14
13:43
теперь он если водитель вчера поехал то и сегодня он на выезде
109 Wobland
 
30.01.14
13:44
(108) неверно. если водитель из этого же документа, то он на выезде
110 Любопытная
 
30.01.14
13:46
(107) ты не даешь мне такой возможности, приходится оценивать исходя из того, что есть
111 kotokent
 
30.01.14
13:49
(109) это точно, но опять по другому маленько сделал


Запрос = Новый Запрос;
    ВодВыезд = Рейс.Водитель;
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Водитель", Рейс.Водитель);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Рейсы КАК Рейсы
        |        ПО РеализацияТоваровУслуг.Рейс = Рейсы.Ссылка
        |ГДЕ
        |    НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
        |    И РеализацияТоваровУслуг.Рейс.Водитель = &Водитель" ;
        
        
    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Если Рейс.Водитель = ВодВыезд Тогда
            Сообщить ("Водитель на выезде");
            Отказ = Истина;
        КонецЕсли;
    КонецЦикла;
112 kotokent
 
30.01.14
13:50
(99) без цикла что то не соображу как
113 Wobland
 
30.01.14
13:51
ВодВыезд = Рейс.Водитель;
Если Рейс.Водитель = ВодВыезд Тогда

что это за тетрис?
114 Wobland
 
30.01.14
13:52
ох, ё. он ещё и вкладку связи нашёл
115 kotokent
 
30.01.14
13:54
(114) оно само так связвлось
116 kotokent
 
30.01.14
13:57
я опять с циклом "Пока" напортачил
117 Wobland
 
30.01.14
13:59
нравится мне эта байка..

   Сунский царь Юань захотел иметь у себя картину. К нему пришли все придворные писцы и встали у трона, держа в руках ритуальные таблички, облизывая кисти и растирая тушь. Ещё столько же стояли за дверью зала. Один писец пришёл с опозданием, поспешно вошёл в зал, взял табличку, но не встал в ряд с другими, а тут же прошёл в свои покои. Царь послал человека посмотреть за ним, и тот увидел, что писец снял одежды и голый сидел, раскинув ноги, на полу.
   — Вот настоящий художник! — воскликнул царь. — Ему можно поручить дело.
118 catena
 
30.01.14
14:00
(112)чем (106) не устроило?
119 kotokent
 
30.01.14
14:01
(118) если водитель из этого же документа, то он на выезде
120 catena
 
30.01.14
14:01
(119)Обрежь в запросе "этот" документ.
121 Wobland
 
30.01.14
14:03
(120) это было насоветовано около 5 часов назад
122 Kri26S
 
30.01.14
14:03
Что-то тебя опять не в то русло несет, зачем вообще тебе соединение со справочником, либо я чего-то не догоняю. Отбираешь документы за день с этим водителем, проверяешь, если больше двух...
123 Wobland
 
30.01.14
14:04
(122) то один из них будет проводится завтра, а первый ваще помечен на удаление
124 kotokent
 
30.01.14
14:08
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Если "ТекущийВодитель" = "ВодительПроводимогоДокумента" Тогда
            Сообщить ("Водитель на выезде");
            Отказ = Истина;
        Иначе
            Отказ = Ложь;
        КонецЕсли;
125 kotokent
 
30.01.14
14:08
кажите ка сравнить, я не допетрю
126 catena
 
30.01.14
14:09
(125)Зачем? Ты водителей отобрал еще в запросе.
127 Wobland
 
30.01.14
14:11
(125) полез искать пример, да вспомнил, что я в обходе запроса уже давно ничего не сравнывал
128 Feunoir
 
30.01.14
14:11
Клёво! Только почему не использовать периодический по дню регистр рейсы с измерением водитель - непонятно. Видимо лёгких путей мы не ищем.
129 Kri26S
 
30.01.14
14:12
(123) Не совсем понял конечно
130 Wobland
 
30.01.14
14:13
(129) -> (128) ;)
131 kotokent
 
30.01.14
14:16
ну скажите как
132 Infsams654
 
30.01.14
14:17
(131) во заладил.
"ну скажите как" - тупостью не заниматься
133 kotokent
 
30.01.14
14:19
(132) подскажи если знаешь
134 Feunoir
 
30.01.14
14:19
+(128)
Получение расчетных данных не из регистра.
Единственной достоверной информацией в системе учета следует считать информацию регистров. Информация из документов может рассматриваться лишь как вспомогательная и не может быть абсолютно достоверной. Например, при наличии документа (аналога ручной операции в бухгалтерском учете), позволяющего интерактивно вводить записи в регистр    3,0

То есть такое решение на специалисте - гарантированная двойка и пересдача.
135 Infsams654
 
30.01.14
14:20
(133) чего подсказать-то ?
136 Feunoir
 
30.01.14
14:20
(133) Что тебе подсказать? Как регистр сведений периодический завести? Как в него запись добавить при проведении документа?
137 kotokent
 
30.01.14
14:20
(135) (136)

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

я не допетрю
138 kotokent
 
30.01.14
14:21
где если
139 Kri26S
 
30.01.14
14:21
(130) По человечески можешь написать что он хочет сделать???
140 kotokent
 
30.01.14
14:22
(139)

Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Водитель", Рейс.Водитель);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата
        |    РеализацияТоваровУслуг.Рейс.Водитель
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Рейсы КАК Рейсы
        |        ПО РеализацияТоваровУслуг.Рейс = Рейсы.Ссылка
        |ГДЕ
        |    НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
        |    И РеализацияТоваровУслуг.Рейс.Водитель = &Водитель" ;
        
        
    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Если "ТекущийВодитель" = "ВодительПроводимогоДокумента" Тогда
            Сообщить ("Водитель на выезде");
            Отказ = Истина;
        Иначе
            Отказ = Ложь;
        КонецЕсли;
    КонецЦикла;
141 AllJoke
 
30.01.14
14:22
В запросе выбираешь Документы=РеализацияТоваровУслуг на текущую дату и ТвоимВодителем. Если такие документы есть, значит водитель сегодня уже выехал в рейс, поэтому сообщаешь Ошибку: Сообщить("Водитель уже в рейсе сегодня!").
142 hhhh
 
30.01.14
14:22
(138) вот так правильно

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      Сообщить ("Водитель на выезде");
      Отказ = Истина;
КонецЦикла;
143 Infsams654
 
30.01.14
14:22
это что за мысли мозга
Если "ТекущийВодитель" = "ВодительПроводимогоДокумента"
144 Wobland
 
30.01.14
14:23
(139) сейчас он хочет перебрать всех рейс.водителей в реализациях за день. а конечную цель не знает даже он сам
145 AllJoke
 
30.01.14
14:24
(142) +1
146 kotokent
 
30.01.14
14:24
(144) знаю я
147 Wobland
 
30.01.14
14:25
(141) а ведь будет. всегда ;)
148 Feunoir
 
30.01.14
14:25
(137) Выкинь к чертям собачьим всё то угрёбище, что написал до этого. Добавь в конфигурацию регистр сведений Рейсы. Периодический по дню. С единственным измерением Водитель. И с ресурсом Рейс, если хочется.
Сделай свой документ регистратором в этом регистре. При проведении документа добавляй в регистр запись о том, что такого-то числа, такой-то водитель сделал такой-то рейс.

Всё! Остальное система за тебя сделает сама. Просто не даст провести второй документ в день с одним водителем.
149 Infsams654
 
30.01.14
14:27
(148) не прокатит. Что водитель за день несколько рейсов не может делать?
150 Feunoir
 
30.01.14
14:28
(149) Первый пост читаем
151 Infsams654
 
30.01.14
14:31
(150) и я про то.
Поэтому, либо помогаем делать решение для студента (0), либо что-то осмысленное
152 kotokent
 
30.01.14
14:32
(151) вооот, правильно говоришь
153 AllJoke
 
30.01.14
14:32
(147) ну и правильно, разве нет? Вводит второй документ - при проведении видит, что документ уже есть с таким же водителем на эту дату, ругаемся. Это ж как с одинаковым ШК товар вводить (это что то из 7.7 мне вдруг вспомнилось...)
154 catena
 
30.01.14
14:32
(153)Он же уже на первый документ ругаться будет.
155 kotokent
 
30.01.14
14:33
он мне по датам ходит документов, просто надо чтобы сравнивал водителей с проводимым водителем
156 kotokent
 
30.01.14
14:33
и ругался если он уже есть с текужей датой
157 catena
 
30.01.14
14:34
(155)Последний раз: Ты в запросе УЖЕ по водителю отобрал.
158 AllJoke
 
30.01.14
14:34
(154) а разве не это и нужно "студенту"?
159 kotokent
 
30.01.14
14:35
(158) нет
160 kotokent
 
30.01.14
14:35
(157)
161 catena
 
30.01.14
14:35
(158)Алгоритм (141) не даст провести ни одного документа.
162 kotokent
 
30.01.14
14:35
(157)

Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Водитель", Рейс.Водитель);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата,
        |    РеализацияТоваровУслуг.Рейс.Водитель
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Рейсы КАК Рейсы
        |        ПО РеализацияТоваровУслуг.Рейс = Рейсы.Ссылка
        |ГДЕ
        |    НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
        |    И РеализацияТоваровУслуг.Рейс.Водитель = &Водитель" ;
        
        
    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Если Результат.Выбрать() = Рейс.Водитель Тогда
            Сообщить ("Водитель на выезде");
            Отказ = Истина;
        Иначе
            Отказ = Ложь;
        КонецЕсли;
    КонецЦикла;
163 catena
 
30.01.14
14:36
(162)Не, я больше повторять не буду.
164 Infsams654
 
30.01.14
14:36
(156) так, те уж 100 раз талдычили, что справочник тут не канает. Да, ходя бы, что при отмене проведения документа, рейс в справочнике остается (либо его программно надо удалять)
165 kotokent
 
30.01.14
14:37
(164) да рейс пусть в справочнике, а водителя я из документа выбрал
166 Infsams654
 
30.01.14
14:39
(165)
это как называется
Если Результат.Выбрать() = Рейс.Водитель Тогда
167 kotokent
 
30.01.14
14:41
(166) да вот тут мне надо сравнение вставить, я уже незнаю что и вставлять
168 Feunoir
 
30.01.14
14:41
(151) Ты постановку задачи в (0) знаешь? Или ты бизнес-процессы у ТС изучил и знаешь, что там на самом-то деле не так, как написано в стартпосте и водитель на самом деле может делать в день несколько рейсов?

При этом все, в течение уже 166 постов и 6 часов рабочего времени решают именно исходную задачу - запрет второго рейса в день.
169 kotokent
 
30.01.14
14:44
(168) можешь подсказать?
170 Infsams654
 
30.01.14
14:45
(168) Шутник.
Что эти запросом нужно получить?
Выбрать документы реализации, у которых не пустая ссылка в поле Рейс на эту дату для этого водителя, что-ли ?
Только, там еще не достает, что документ проведен и не понятно как рейс добавляется в справочник, видимо из формы документа
171 kotokent
 
30.01.14
14:50
я вот думаю может через ВыборкаДетальныеЗаписи
172 kotokent
 
30.01.14
14:51
я же выбрал из документа водителя
173 Kri26S
 
30.01.14
14:51
174 Feunoir
 
30.01.14
14:52
(169) Я уже подсказал в (148). Про то, как выбрать это из документов подсказывать не буду. Не сторонник БСДМ и ЛГБТ.

(170) Каким запросом? Куда запросом? Я про запросы вообще ничего не говорил. И в (0) никакого запроса нет. Это всё фантазии отвечающих.
175 kotokent
 
30.01.14
14:58
(173) ты можешь мне сказать как сравнить
176 Infsams654
 
30.01.14
15:03
(175) так в (170) спрашиваю
"Выбрать документы реализации, у которых не пустая ссылка в поле Рейс на эту дату для этого водителя, что-ли "
177 Kri26S
 
30.01.14
15:15
(175) Конечно, знаком "=".
178 Kri26S
 
30.01.14
15:16
(175) Ты можешь проанализоровать что ты получаешь в результате выполнения запроса своего?
179 Kri26S
 
30.01.14
15:16
*проанализировать
180 Kri26S
 
30.01.14
15:23
Если ВыборкаДетальныеЗаписи.Количество()>1 Тогда
181 zzerro
 
30.01.14
15:29
//добавь в параметры запроса еще
Запрос.УстановитьПараметр("Ссылка", Ссылка);

//В текст запроса секции ГДЕ добавь условие:
|И РеализацияТоваровУслуг.Ссылка <> &Ссылка

Этим ты ограничишь выборку только другими документами РТиУ, кроме этого. Дополнительно добавь условие на проведенность документов:
|И РеализацияТоваровУслуг.Проведен

И уж в самом конце зачем выборку перебирать, достаточно проверить есть ли записи в результате запроса, примерно так:

Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
    Сообщить ("Водитель на выезде");
    Отказ = Истина;
Иначе
    Отказ = Ложь;
КонецЕсли;
182 zzerro
 
30.01.14
15:31
*только условие лучше так:

Если Не Результат.Пустой() Тогда
    Сообщить ("Водитель на выезде");
    Отказ = Истина;
КонецЕсли;
183 zzerro
 
30.01.14
15:32
Но лучше передумай пока не поздно и сделай через регистр
184 Wobland
 
30.01.14
15:40
про запрос было намёкнуто в (13), про регистры - в (17).. видимо, там не было того, что можно скопипастить
185 kotokent
 
31.01.14
06:24
(184) про регистры у меня следующие 2 задания
186 kotokent
 
31.01.14
06:31
(183) спасибо тебе большое, я бы и не сделал без тебя
187 Wobland
 
31.01.14
06:31
что это - регистры?
188 kotokent
 
31.01.14
06:32
(187) Регистры - это таблицы для накопления оперативных данных и получения сводной информации.
189 kotokent
 
31.01.14
06:33
(187) и тебе спасибо большое
190 Wobland
 
31.01.14
06:33
(188) ох, ничо себе ;)
191 Wobland
 
31.01.14
06:45
покажи уже, что накропал. бесплатно ошибки покажу
192 kotokent
 
31.01.14
07:09
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("Водитель", Рейс.Водитель);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Дата,
        |    РеализацияТоваровУслуг.Рейс.Водитель
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Рейсы КАК Рейсы
        |        ПО РеализацияТоваровУслуг.Рейс = Рейсы.Ссылка
        |ГДЕ
        |    НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
        |    И РеализацияТоваровУслуг.Рейс.Водитель = &Водитель
        |    И РеализацияТоваровУслуг.Ссылка <> &Ссылка
        |    И РеализацияТоваровУслуг.Проведен" ;
    Результат = Запрос.Выполнить();

    Если Не Результат.Пустой() Тогда
        Сообщить ("Водитель на выезде");
        Отказ = Истина;
    Иначе
        Отказ = Ложь;
    КонецЕсли;

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
    КонецЦикла;



(191)
193 kotokent
 
31.01.14
07:11
(191)
194 Wobland
 
31.01.14
07:18
зачем соединяешь со справочником, если потом им не пользуешься? зачем вообще выбираешь дату и водителя в запросе? зачем перебираешь результат?
195 kotokent
 
31.01.14
07:19
(194) соединение установилось само собой, т.к. они связаны
196 kotokent
 
31.01.14
07:20
(194) дату и водителя, согласен, можно убрать
197 kotokent
 
31.01.14
07:20
(194) зерельтат перебирается пустым, так что это не интересно
198 Wobland
 
31.01.14
07:20
далее делаешь так. проводишь документ с Анашкиным, делаешь второй документ с Анашкиным - провести не даст, а записать?
(195) зачем соединяешь?
199 kotokent
 
31.01.14
07:22
(198) у меня есть соединение со справочником Рейсы, вот оно и установилось
200 Wobland
 
31.01.14
07:22
200
201 Wobland
 
31.01.14
07:22
(199) я вижу. зачем?
202 Wobland
 
31.01.14
07:23
а давай номенклатуру прикрутим?
203 kotokent
 
31.01.14
07:23
(201) ну мне же из справочника данные надо брать
204 Wobland
 
31.01.14
07:24
задним числом. пометь на удаление вчерашнюю реализацию про Анашкина и заведи про него новую. вчерашним же числом
205 Wobland
 
31.01.14
07:24
(203) какие?
206 kotokent
 
31.01.14
07:24
(202) зачем, я сейчас регистр сведений делаю, который содержит информацию о рейсах, ну и чтобы регистр учитывал требование, у одного водителя одна поездка
207 catena
 
31.01.14
07:25
(203)А где ты берешь данные из справочника? Где ты их хотябы из запроса выводишь?
208 kotokent
 
31.01.14
07:26
(207) получается нигде
209 kotokent
 
31.01.14
07:26
запрос не нужен
210 kotokent
 
31.01.14
07:26
чтоли
211 kotokent
 
31.01.14
07:28
(204) при пометке на удаление, он также не дает провести документ
212 kotokent
 
31.01.14
07:29
(204) ну в смысле другой документ не дает провести с этой датой
213 Wobland
 
31.01.14
07:32
(212) это правильное поведение?
214 kotokent
 
31.01.14
07:33
(213) практически да, но теоретически нет
215 kotokent
 
31.01.14
07:34
вот была бы такая команда которая это проверяет
216 Wobland
 
31.01.14
07:34
поздравляю тебя, ты сделал хню
217 kotokent
 
31.01.14
07:35
(216) пипец
218 catena
 
31.01.14
07:35
(209)Откуда такие глобальные выводы? Тебя ж не про запрос в целом спрашивали, а про лишнее соединение в запросе.
219 catena
 
31.01.14
07:35
(216)Не пугай человека, он свою хню просто недоделал :)
220 kotokent
 
31.01.14
07:36
(219) а я то думал доделал
221 Wobland
 
31.01.14
07:36
(218) ничо, есть надежда, что он скоро научится читать
(219) он сделал хню, не спорь со старшими
222 Wobland
 
31.01.14
07:38
я схожее делал сразу после Радченки. так было стыдно потом, так стыдно..
223 kotokent
 
31.01.14
07:41
(222) смотри


Если Не Результат.Пустой() и ПометкаУдаления Тогда
        Сообщить ("Водитель на выезде");
        Отказ = Истина;
    Иначе
        Отказ = Ложь;
    КонецЕсли;


так вроде норм
224 Wobland
 
31.01.14
07:42
теперь поиграйся с распроведением без пометки
225 kotokent
 
31.01.14
07:42
(222) а нет, он в ТОГДА не заходит
226 Wobland
 
31.01.14
07:42
(224) а пофих
227 Wobland
 
31.01.14
07:43
(219) гм, согласен: недоделал хню
228 catena
 
31.01.14
07:45
(221)Хорошо, папа :(
229 kotokent
 
31.01.14
07:47
(227) (228)

Если Не Результат.Пустой() или ПометкаУдаления Тогда
        Сообщить ("Водитель на выезде");
        Отказ = Истина;
    Иначе
        Отказ = Ложь;
    КонецЕсли;
230 kotokent
 
31.01.14
07:47
во, так вроде норм
231 Wobland
 
31.01.14
07:48
а через пару недель появится документ Доставка, которая также должна будет водителей на выезде наравне с реализацией. как быть?
232 catena
 
31.01.14
07:48
(222)Ох, до сих пор помню, как меня девять лет назад разносил начальник за выполнение первого задания... Тоже орал: Вон из профессии))
233 Wobland
 
31.01.14
07:48
(229) помечаешь документ, вводишь новый. про того же водителя, разумеется
234 Wobland
 
31.01.14
07:50
(233) потом помечаешь второй
235 Wobland
 
31.01.14
07:51
(232) оо, у тебя ж опыта больше, чем у меня ;)
236 User_Agronom
 
31.01.14
07:51
(33) Про борщ узнавал?
237 Wobland
 
31.01.14
07:52
(236) ээ.. у казашки? фотки хватило ;)
238 catena
 
31.01.14
07:52
(235)У меня был перерыв на декрет :)
239 Wobland
 
31.01.14
07:54
(238) а я в наши -32 лицо варежкой не закрываю, бебебе ;)
240 User_Agronom
 
31.01.14
07:56
(237) Всё так грустно? Казашки симпатичные бывают часто.
241 Wobland
 
31.01.14
07:57
(240) ну.. среди всех казашек чемпион по красоте - наша катена ;)
242 catena
 
31.01.14
08:01
(239) не представляю себе вообще. У нас -1 и я вымерзла.

(241)Я россиянка)))
243 Wobland
 
31.01.14
08:02
(242) тяжело вам, россиянским казашкам без бороды ;)
244 Wobland
 
31.01.14
08:08
а ведь сегодня это.. праздник. так выпьем же за 60%ный раствор воды!
245 catena
 
31.01.14
08:25
(244)У меня вчера праздник был, сегодня я за трезвость. По крайней мере с утра.
246 Любопытная
 
31.01.14
08:29
Вы еще не устали штоль?
247 Wobland
 
31.01.14
08:32
(246) молоть клавиатурой мы завсегда горазды
248 Wobland
 
31.01.14
08:33
среди прочего запрещено в шаббат
32. Котев штей отийот (написание двух букв).
33. Мохек аль мнат лихтов штей отийот (стирание двух букв, с тем чтобы написать их заново).
249 Любопытная
 
31.01.14
08:34
(247)а задача-то решена?
250 Wobland
 
31.01.14
08:35
(249) да нет, конечно. думаю, автор после пометки двух документов уже забил. хотя, говорил что-то про регистры..
252 Wobland
 
07.02.14
12:34
задачу так и не скажешь?
255 Wobland
 
07.02.14
12:40
(254) скан. я хочу скан. пока что выходит, что ты сам всё выдумываешь
257 Wobland
 
07.02.14
13:02
итак, хотя бы ясно, что документ рукописен. часто задачи в нашей сфере пишутся от руки?
260 Wobland
 
07.02.14
13:16
(258) нет, это я не у тебя спрашиваю
264 Wobland
 
07.02.14
13:21
(262) ага
267 Wobland
 
07.02.14
13:26
(266) ищи, как включается
269 Wobland
 
07.02.14
13:28
(268) думаешь, мне понравится?
274 Wobland
 
07.02.14
13:31
(271) я прямо отсюда вижу, что на форме не отображается
277 Wobland
 
07.02.14
13:34
http://i.imgur.com/2cdo9ub.png
//издеваюсь, да
281 Wobland
 
07.02.14
13:43
ого
284 Wobland
 
07.02.14
13:47
(282) так же
287 Wobland
 
07.02.14
13:53
на сервере всяческие запросы, выборки и т.п. работают так же, как в обычном приложении
290 Wobland
 
07.02.14
14:00
прикольно
292 Wobland
 
07.02.14
14:05
(291) подход к реализации
294 Wobland
 
07.02.14
14:07
(293) путь решения а также его практическая реализация
295 Wobland
 
07.02.14
14:07
а в остальном всё хорошо. 1Ска запускается, документы открываются
298 Wobland
 
07.02.14
14:09
(296) не работал
300 Wobland
 
07.02.14
14:11
дриста!
301 Wobland
 
07.02.14
14:11
(299) потом. после Радченки
303 Wobland
 
07.02.14
14:14
(302) Радченки не хватает
305 Wobland
 
07.02.14
14:21
(304) семестровый курс по алгоритмам и методам обработки я тебе читать не намерен. заметь, речи о дазах банных ещё не идёт
306 hhhh
 
07.02.14
14:29
(304) объект передай на сервер. Типа

ОбъектНаСервере = РеквизитФормыВЗначение("Объект");
308 hhhh
 
07.02.14
14:39
(307) ну в других документах посмотри, где пишут. Прямо в самом начале напиши.
312 catena
 
07.02.14
15:05
Запрос.УстановитьПараметр("Ссылка", Объект.Рейс.Ссылка);
И почему же он выбирает сам себя?
313 hhhh
 
07.02.14
15:10
(311) что говорит?
314 Wobland
 
07.02.14
15:20
(311) а я говорю, врёшь