Имя: Пароль:
1C
 
Запрос заполнение подписей в макете.
,
0 greenyes1c
 
07.10.14
10:26
В Приходном ордере нужно было сделать авто заполнение подписей в графе принял (ДолжностьМОЛ и ФИОМОЛ).Я сделал запрос для вывода должности кладовщик и его ФИО,как сделать так чтобы по запросу выбирались все должности которые имеются в списке должностей(ну и их фамилии)?Помогите пожалуйста)

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

    Запрос.УстановитьПараметр("Кладовщик", Кладовщик);
  
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
       Если РезультатЗапроса.Количество()>0 Тогда
    Должность = РезультатЗапроса[0].Должность;
    ФиоКладовщика =РазложитьСтрокуВМассивПодстрок(СокрЛП(РезультатЗапроса[0].ФизическоеЛицо)," ");
    Фамилия = ФиоКладовщика[0];
    Имя = Лев(ФиоКладовщика[1],1);
    Отчество = Лев(ФиоКладовщика[2],1);
    ФиоКладовщика = Фамилия + " "+ Имя +". " + Отчество+".";
    КонецЕсли;
1 xXeNoNx
 
07.10.14
10:29
РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(,Должность В(&СписокДолжностей))
2 xXeNoNx
 
07.10.14
10:30
Условие "ГДЕ" - это не правильно
3 greenyes1c
 
07.10.14
10:31
Если не сложно можешь исправить код?
4 xXeNoNx
 
07.10.14
10:35
ВЫБРАТЬ
ОтветственныеЛицаОрганизацийСрезПоследних.Период,
ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница,
ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо,
ОтветственныеЛицаОрганизацийСрезПоследних.Должность
ИЗ
РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних(,Должность В(&СписокДолжностей))
5 xXeNoNx
 
07.10.14
10:39
Наверное как-то так, не помню синтаксис СрезПоследних

ВЫБРАТЬ
ОтветственныеЛицаОрганизацийСрезПоследних.Период,
ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница,
ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо,
ОтветственныеЛицаОрганизацийСрезПоследних.Должность
ИЗ
РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(,Должность В(&СписокДолжностей)) КАК ОтветственныеЛицаОрганизацийСрезПоследних
6 greenyes1c
 
07.10.14
10:40
А в остальном код запроса правильный?
7 xXeNoNx
 
07.10.14
10:42
Срез последних устанавливать на дату документа, Период - не нужен, т.к. если будут изменения ответственных лиц, запрос выберет и прошлые
8 greenyes1c
 
07.10.14
10:45
А заместо кладовщик мне что прописать? "Должность"? или "ВСЕ"
9 xXeNoNx
 
07.10.14
10:46
Должность = РезультатЗапроса[0].Должность;
РезультатЗапроса[0] - обращение к ТЗ с указанием конкретной строки - тож не очень правильно
10 xXeNoNx
 
07.10.14
10:48
(8) Тебе же надо все должности, зачем тебе кладовщик, после работы запроса получишь список должностных лиц, которые содержит регистр сведений.
11 Fish
 
07.10.14
10:49
(0) А что такое "ВСЕ" в твоей строке:
"Должность = Справочники.ДолжностиОрганизаций.Выбрать( ВСЕ )"?
12 xXeNoNx
 
07.10.14
10:50
Даже запрос вот такой получится

ВЫБРАТЬ
ОтветственныеЛицаОрганизацийСрезПоследних.Период,
ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница,
ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо,
ОтветственныеЛицаОрганизацийСрезПоследних.Должность
ИЗ
РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних

без указания условий, получишь все должности, а потом анализируй
13 xXeNoNx
 
07.10.14
10:51
без периода правда
14 greenyes1c
 
07.10.14
10:51
Должность = Справочники.ДолжностиОрганизаций.Выбрать( ВСЕ )
А в этой строчке как обозначить? До этого у меня везде кладовщик стоял тк поиск по наименованию ставил.А здесь что поставить?
15 xXeNoNx
 
07.10.14
10:53
А зачем тебе это?
Должность = Справочники.ДолжностиОрганизаций.Выбрать( ВСЕ )
16 greenyes1c
 
07.10.14
10:54
Не знаю.Пробовал методом тыка..Эту строчку я удаляю получается?
17 greenyes1c
 
07.10.14
10:55
Просто в дальнейшем в строке Запрос.УстановитьПараметр("Должность", ВСЕ);
у меня выбивает ошибку,что переменная не определена.
18 xXeNoNx
 
07.10.14
10:56
1. Есть приходный ордер, там надо заполнить поля
2. Можно в запрос передать список должностей, которые ты заранее находишь, можно после
3. Если передаешь списком в запрос все должности, на выходе из запроса получаешь нужные тебе данные, если не передаешь списком, то постобработкой находишь те должности, которые нужны
4. Заполняешь найденые реквизиты в документе
19 xXeNoNx
 
07.10.14
10:58
эту удаляй, другие добавляй, те по которым будешь искать нужные должности
20 greenyes1c
 
07.10.14
11:00
Недавно начал изучать 1С.Если вам не сложно,не могли бы вы написать правильный код.Был бы вам премного благодарен за это.Думаю вам как профессионалу это пара минут.
21 xXeNoNx
 
07.10.14
11:02
(20) Смысла нет, ЗП же ты будешь получать, вот и учись. Что бы было за что получать)
22 Fish
 
07.10.14
11:05
(20) Предлагаю открыть для себя СП. Там много интересного написано, в частности и по поводу параметров, передаваемых в методы и функции. А вот что не получится после прочтения, спрашивай.
23 greenyes1c
 
07.10.14
11:07
не проканало)Эх.Да уже показывать нужно через пару часов,а у меня до сих не получается.Сейчас пороюсь там)
24 Fish
 
07.10.14
11:09
(23) "показывать нужно через пару часов" - Собеседование что ли проходишь? :)
25 Fish
 
07.10.14
11:11
(23) Ещё, кстати, можно порыться в типовых конфигурациях (если есть под рукой), и посмотреть, как там это реализовано.
26 greenyes1c
 
07.10.14
11:14
Да)Не подумайте,что я лентяй.Просто самому иногда трудновато.Нужен человек который покажет ,что нужно нажать сюда и сюда,и это работает.Недавно сидел два дня и кумекал,оказалось что в одном месте нужно было СсылкаНаОбъект поставить и все заработало.А программистов 1с к сожалению нет в моем окружении.Приходится вам надоедать.
27 Fish
 
07.10.14
11:23
(26) "в одном месте нужно было СсылкаНаОбъект поставить и все заработало." - вот это как раз обычно и написано в СП - что и куда нужно ставить. Нужно только не лениться прочитать.
28 greenyes1c
 
07.10.14
11:51
И все равно не понятненько.Кто поможет составить запрос,подарю вкусных печенек =)
29 xXeNoNx
 
07.10.14
12:14
(28) Хм.., за печенья...., опускаюсь, за еду так сказать...
Конкретизируй вопрос!
30 xXeNoNx
 
07.10.14
12:15
+(29) Т.к. решение я тебе написал уже
31 xXeNoNx
 
07.10.14
12:17
Конфа какая?
32 Ненавижу 1С
 
гуру
07.10.14
12:19
(28) наконец-то печеньки!

ВЫБРАТЬ
    ОтветственныеЛицаОрганизацииСрезПоследних.ОтветственноеЛицо,
    ОтветственныеЛицаОрганизацииСрезПоследних.Должность,
    ОтветственныеЛицаОрганизацииСрезПоследних.ФизическоеЛицо
ИЗ
    РегистрСведений.ОтветственныеЛицаОрганизации.СрезПоследних(&НаДату, СтруктурнаяЕдиница = &СтурктурнаяЕдиница) КАК ОтветственныеЛицаОрганизацииСрезПоследних
33 greenyes1c
 
07.10.14
12:21
Кладовщик = Справочники.ДолжностиОрганизаций.НайтиПоНаименованию("Кладовщик");
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ОтветственныеЛицаОрганизацийСрезПоследних.Период,
        |    ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница,
        |    ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо,
        |    ОтветственныеЛицаОрганизацийСрезПоследних.Должность
        |ИЗ
        |    РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних";
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
       Если РезультатЗапроса.Количество()>0 Тогда
    Должность = РезультатЗапроса[0].Должность;
    ФиоКладовщика =РазложитьСтрокуВМассивПодстрок(СокрЛП(РезультатЗапроса[0].ФизическоеЛицо)," ");
    Фамилия = ФиоКладовщика[0];
    Имя = Лев(ФиоКладовщика[1],1);
    Отчество = Лев(ФиоКладовщика[2],1);
    ФиоКладовщика = Фамилия + " "+ Имя +". " + Отчество+".";
    КонецЕсли;

Конкретизирую.Что тут нужно исправить,чтобы выводились все должности.
34 greenyes1c
 
07.10.14
12:22
Конфа Бухгалтерия предприятия, редакция 2.0 (2.0.58.6)
35 xXeNoNx
 
07.10.14
12:24
(32) Мля, стопэ, в очередь
36 xXeNoNx
 
07.10.14
12:24
(33) Выводились куда?
37 xXeNoNx
 
07.10.14
12:25
(34) Конфа какая?
38 greenyes1c
 
07.10.14
12:29
Есть внешняя печатная форма М4.Приходный ордер,нужно чтобы в строке Принял ячейки ДолжностьМОЛ (сотрудники организаций)и ФИОМОЛ (справочник склады)автоматически заполнялись.
39 greenyes1c
 
07.10.14
12:32
Сейчас с этим запросом у меня заполняется лишь с должностью кладовщик.Как сделать так,чтобы там выводились все остальные должности.(Ответственные лица)
40 xXeNoNx
 
07.10.14
12:39
ща нарисуем
41 greenyes1c
 
07.10.14
12:40
xXeNoNx,если это заработает.Скинешь почтовый ящик.Обговорим вопросы передачи печенья.
42 greenyes1c
 
07.10.14
12:56
Дружище,печеньки остывают)
43 xXeNoNx
 
07.10.14
13:30
Глобальным поиском ищешь функцию:
ДанныеФизЛица(Организация, ОтветственноеЛицо, Дата)

Вызываешь ее и она тебе возвращает структуру с МОЛ, дальше используешь так

ДанныеМОЛ = ДанныеФизЛица(Организация, ОтветственноеЛицо, Дата);

ДанныеМОЛ.Должность
ДанныеМОЛ.Представление
44 xXeNoNx
 
07.10.14
13:31
+(43)  Перемнные Оранизация, ОтветственноеЛицо, Дата
Берешь из запроса выше.
45 xXeNoNx
 
07.10.14
13:32
(44)  Это все вместо твоего запроса.
Забей в глобальный поиск "ДанныеФизЛица("
46 greenyes1c
 
07.10.14
13:45
А как все это в виде кода изобразить...?Я совсем не понимаю..
47 xXeNoNx
 
07.10.14
13:55
Процедуру пришли полностью
48 xXeNoNx
 
07.10.14
14:05
(46) Ты даешь часть кода, тебе частью и отвечают
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс