Имя: Пароль:
1C
1С v8
Как удалить область 1п.
,
0 JaZDik
 
01.10.13
10:21
Ребят, есть у кого время поглядите пожалуйста. Что нужно сделать? Если не меняется Подразделение и (или) должность, а только оклад. Как исключить пункт 1? Т.е. п. 1 удалить, а пункты 2,3,4,5 сделать на пункт ниже т.е. 1,2,3,4. Буду очень благадарен, если покажете где и чего нужно дописать. Ссылка на внешнюю обработку ниже. Конфигурация ЗУП внешняя обработка для документа КадровоеПеремещениеОрганизаций

http://files.mail.ru/57C3E955BE9D495ABE952C7D6E07AB74
1 Fish
 
01.10.13
10:25
Сколько платишь?
2 JaZDik
 
01.10.13
10:28
(1) Ну это задание просто для меня дано для учебы. Я только начинаю.
3 Галахад
 
гуру
01.10.13
10:30
Ну, тогда учись. Как научишься, если за тебя сделают?
4 JaZDik
 
01.10.13
11:07
(3) (1) Можете тода посоветовать?
5 Fish
 
01.10.13
11:25
(4) Посоветовать, конечно можем. Пиши, что сделал, что не получается. Задавай конкретные вопросы.
6 JaZDik
 
01.10.13
11:34
Тогда забудем про этот пунк 1 =) попробую сам разобраться
(5) Как в запросе получить фактический адрес. Адрес прописки вывел, а адрес фактический не получаеться.
7 JaZDik
 
01.10.13
11:34
Функция РазложитьФИО(Знач ФИОСтр)
    
    ФИОСтр = СокрЛП(ФИОСтр);
    ФИО = Новый Структура("Фамилия, Имя, Отчество", "", "", "");
    
    ПервыйПробел = Найти(ФИОСтр, " ");
    Если ПервыйПробел = 0 Тогда
        ФИО.Фамилия = ФИОСтр;
        Возврат ФИО;
    КонецЕсли;
    ФИО.Фамилия = СокрЛП(Лев(ФИОСтр, ПервыйПробел - 1));
    ФИОСтр = СокрЛП(Сред(ФИОСтр, ПервыйПробел + 1));
    
    ВторойПробел = Найти(ФИОСтр, " ");
    Если ВторойПробел = 0 Тогда
        ФИО.Имя = ФИОСтр;
        Возврат ФИО;
    КонецЕсли;
    ФИО.Имя = СокрЛП(Лев(ФИОСтр, ВторойПробел - 1));
    
    ФИО.Отчество = СокрЛП(Сред(ФиоСтр, ВторойПробел + 1));
    
    Возврат ФИО;
    
КонецФункции

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

    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    
    ФИО = РазложитьФИО(Шапка.РаботникИН);
        
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КадровоеПеремещениеОрганизацийРаботникиОрганизации_ДополнительноеСоглашение";
    
    Макет = ПолучитьМакет("ДополнительноеСоглашение");
    
    ОбластьМакета = Макет.ПолучитьОбласть("Общее");
    ОбластьМакета.Параметры.РаботникИН = ФИО.Фамилия + " " + Лев(ФИО.Имя,1) + "." + Лев(ФИО.Отчество,1) + ".";
    ОбластьМакета.Параметры.Работник = Шапка.Сотрудник.Наименование;
    ОбластьМакета.Параметры.Серия = Шапка.Серия;
    ОбластьМакета.Параметры.Номер = Шапка.Номер;
    ОбластьМакета.Параметры.ДатаВыд = Шапка.ДатаВыд;
    ОбластьМакета.Параметры.КемВыдан = Шапка.КемВыдан;
    ОбластьМакета.Параметры.ИНН = Шапка.ИНН;
    ОбластьМакета.Параметры.СтрахНомер = Шапка.СтрахНомер;
    ОбластьМакета.Параметры.ДатаРож = Шапка.ДатаРож;
    ОбластьМакета.Параметры.ДатаДог = Шапка.ДатаДог;
    ОбластьМакета.Параметры.НомерДог = Шапка.НомерДог;
    ОбластьМакета.Параметры.Подразделение = Шапка.Подразделение;
    ОбластьМакета.Параметры.Должность = Шапка.Должность;
    ОбластьМакета.Параметры.Оклад = Шапка.Оклад;
    ОбластьМакета.Параметры.РабДата = ТекущаяДата();
    ОбластьМакета.Параметры.Дата1 = Шапка.Дата1;
    ОбластьМакета.Параметры.Номер1 = Шапка.Номер1;
    ОбластьМакета.Параметры.Работодатель = Шапка.Работодатель;
    ОбластьМакета.Параметры.ДатаОт = Шапка.ДатаОт;
    ОбластьМакета.Параметры.Поле1 = Шапка.Поле1;
        
         
    ТабДокумент.Вывести(ОбластьМакета);
    Возврат ТабДокумент;
    
КонецФункции
8 JaZDik
 
01.10.13
11:38
Через консоль запросов попробывал вроде получается, а через конструктор запросов нет... в конструкторе условие не так выражается вот код из консоли

ВЫБРАТЬ
    КонтактнаяИнформация.Представление
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Тип = &Тип
    И КонтактнаяИнформация.Вид = &Вид
    И КонтактнаяИнформация.Объект = &Объект
9 Nenaviwu1c20
 
01.10.13
11:40
Заданее конкретней плз.Что удалить и где твои пункты в коде?
10 Fish
 
01.10.13
11:44
(8) " в конструкторе условие не так выражается" - ничего не понял.
11 JaZDik
 
01.10.13
11:45
(9) В коде я еще не прописывал. Внешняя обработка выложена по ссылочке. в макете область 1 нужно удалить, если подразделене и должность сотрудника не меняется. Если подразделене и должность сотрудника поменялась то пункт 1 т.е. область1 отсавить
12 JaZDik
 
01.10.13
11:45
(10) 5 сек
13 JaZDik
 
01.10.13
11:47
Код условия в консоли запроса

ВЫБРАТЬ
    КонтактнаяИнформация.Представление
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Тип = &Тип
    И КонтактнаяИнформация.Вид = &Вид
    И КонтактнаяИнформация.Объект = &Объект




Код условия в конструкторе запроса

ВЫБРАТЬ
    КонтактнаяИнформация.Представление
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Тип = &&ТекущийДокумент
    И КонтактнаяИнформация.Вид = &&ТекущийДокумент
    И КонтактнаяИнформация.Объект = &&ТекущийДокумент";
14 JaZDik
 
01.10.13
12:00
(10) щас попробывал так и пишет

Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (Выполнить): {(35, 34)}: Не задано значение параметра "Объект"
И КонтактнаяИнформация.Объект = <<?>>&Объект



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

    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    
    ФИО = РазложитьФИО(Шапка.РаботникИН);
        
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КадровоеПеремещениеОрганизацийРаботникиОрганизации_ДополнительноеСоглашение";
    
    Макет = ПолучитьМакет("ДополнительноеСоглашение");
    
    ОбластьМакета = Макет.ПолучитьОбласть("Общее");
    ОбластьМакета.Параметры.РаботникИН = ФИО.Фамилия + " " + Лев(ФИО.Имя,1) + "." + Лев(ФИО.Отчество,1) + ".";
    ОбластьМакета.Параметры.Работник = Шапка.Сотрудник.Наименование;
    ОбластьМакета.Параметры.Серия = Шапка.Серия;
    ОбластьМакета.Параметры.Номер = Шапка.Номер;
    ОбластьМакета.Параметры.ДатаВыд = Шапка.ДатаВыд;
    ОбластьМакета.Параметры.КемВыдан = Шапка.КемВыдан;
    ОбластьМакета.Параметры.ИНН = Шапка.ИНН;
    ОбластьМакета.Параметры.СтрахНомер = Шапка.СтрахНомер;
    ОбластьМакета.Параметры.ДатаРож = Шапка.ДатаРож;
    ОбластьМакета.Параметры.ДатаДог = Шапка.ДатаДог;
    ОбластьМакета.Параметры.НомерДог = Шапка.НомерДог;
    ОбластьМакета.Параметры.Подразделение = Шапка.Подразделение;
    ОбластьМакета.Параметры.Должность = Шапка.Должность;
    ОбластьМакета.Параметры.Оклад = Шапка.Оклад;
    ОбластьМакета.Параметры.РабДата = ТекущаяДата();
    ОбластьМакета.Параметры.Дата1 = Шапка.Дата1;
    ОбластьМакета.Параметры.Номер1 = Шапка.Номер1;
    ОбластьМакета.Параметры.Работодатель = Шапка.Работодатель;
    ОбластьМакета.Параметры.ДатаОт = Шапка.ДатаОт;
    ОбластьМакета.Параметры.Поле1 = Шапка.Поле1;
    ОбластьМакета.Параметры.Поле2 = Шапка.Поле2;
        
         
    ТабДокумент.Вывести(ОбластьМакета);
    Возврат ТабДокумент;
    
КонецФункции
15 Molinor
 
01.10.13
12:02
Так задай значение параметра "Объект", заодно ещё "Вид" и "Тип"
16 Molinor
 
01.10.13
12:04
А если быть точнее, то параметр "Объект" тебе вообще не нужен, ты же по нему соединение делаешь. Надо только указать вид и тип контактной информации.
Но учти, что если записи с таким видом и типом контактной информации не будет, тогда в итоге вообще ничего не получишь. Лучше в соединение перенести параметры.
17 JaZDik
 
01.10.13
12:12
(16) Извение за глупый наверное вопрос как задать параметр
18 Molinor
 
01.10.13
12:14
Точно так же, как это уже сделано:
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
19 JaZDik
 
01.10.13
12:20
(18) Извените наверное за мою тупость. тип должен быть адрес, вид Адрес проживания физ. лица. Как их правильно объявить?
20 Molinor
 
01.10.13
12:22
Смотри что это за объекты в базе так и объявляй.
Перечисления.<НазваниеПеречисления>.<Значение>
Справочники.<НазваниеСправочника>.<Значение> (если предопределённое значение)
В данном случае будет примерно так.
21 JaZDik
 
01.10.13
12:45
(20) не получается нефига... если не сложно у меня там по ссылочке... лежит эта внешка можешь поглядеть и показать как правельно сделать... запутался совсем
22 Molinor
 
01.10.13
12:47
Смотри (3)
Говори что конкретно не получается, а лучше почитай книжки умные.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан