Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 22:43
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Замена одной области на другую  (Прочитано 2431 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gliokker

  • ***
  • Сообщений: 231
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-30
  • Сайт: 
  • Профессия: Ученик 1С
Ещё раз здравствуйте

Мне нужно заменить одну область макета на другую и наоборот при определённом условии
Делаю я это в УСХП докумнте кадровое перемещени сотрудников организации
Внешняя обработка
Задача следующая
Если у сотрудника перемещаемого на другую должность либо в другое подразделение меняется сумма тарифа ну или оклада то должно писатся одно если же не изменились то другое.
Я пробывал вот так
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
ОбластьМакета.Параметры.Заполнить(Выборка);
Выборка = Запрос.Выполнить().Выбрать();
        Заменить = 0;
    Пока Выборка.Следующий() Цикл
    Если  Выборка.Период = Период - 1 Тогда
Заменить = 1;
КонецЕсли;
КонецЦикла;
Если Заменить = 0 Тогда
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
Иначе
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
ТабДокумент.Вывести(ОбластьМакета);
КонецЕсли;
КонецЦикла;
Но не работает да и помоему тут что то не то получается
я даже не могу понять как это сделать
может кто то уже делал подскажите?

Последний раз редактировалось: MuI_I_Ika; 19 Ноя 2013, 15:40


Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6558
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
   ОбластьМакета.Параметры.Заполнить(Выборка);   
   Выборка = Запрос.Выполнить().Выбрать();
   Заменить = 0;
   Пока Выборка.Следующий() Цикл
      Если  Выборка.Период = Период - 1 Тогда
         Заменить = 1;
      КонецЕсли;
   КонецЦикла;

   Если Заменить = 0 Тогда
      ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
      ТабДокумент.Вывести(ОбластьМакета);   
   Иначе
      ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
      ТабДокумент.Вывести(ОбластьМакета);
   КонецЕсли;
     
   

А на каком этапе то не работает, что не делает?

Оффлайн gliokker

  • ***
  • Сообщений: 231
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-30
  • Сайт: 
  • Профессия: Ученик 1С
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
   ОбластьМакета.Параметры.Заполнить(Выборка);   
   Выборка = Запрос.Выполнить().Выбрать();
   Заменить = 0;
   Пока Выборка.Следующий() Цикл
      Если  Выборка.Период = Период - 1 Тогда
         Заменить = 1;
      КонецЕсли;
   КонецЦикла;

   Если Заменить = 0 Тогда
      ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
      ТабДокумент.Вывести(ОбластьМакета);   
   Иначе
      ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
      ТабДокумент.Вывести(ОбластьМакета);
   КонецЕсли;
     
   

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

Добавлено: 19 Ноя 2013, 16:13

ЗапросПрошлоеНачисление = НОвый Запрос;
         ЗапросПрошлоеНачисление.Текст = "ВЫБРАТЬ
                                         |   ВЫБОР
                                         |      КОГДА ПлановыеНачисленияРаботниковСрезПоследних.ПериодЗавершения > &ДатаСреза
                                         |            ИЛИ ПлановыеНачисленияРаботниковСрезПоследних.ПериодЗавершения = &ПустаяДата
                                         |         ТОГДА ПлановыеНачисленияРаботниковСрезПоследних.ВидРасчета
                                         |      ИНАЧЕ ПлановыеНачисленияРаботниковСрезПоследних.ВидРасчетаЗавершения
                                         |   КОНЕЦ КАК ВидРасчета,
                                         |   ВЫБОР
                                         |      КОГДА ПлановыеНачисленияРаботниковСрезПоследних.ПериодЗавершения > &ДатаСреза
                                         |            ИЛИ ПлановыеНачисленияРаботниковСрезПоследних.ПериодЗавершения = &ПустаяДата
                                         |         ТОГДА ПлановыеНачисленияРаботниковСрезПоследних.Показатель1
                                         |      ИНАЧЕ ПлановыеНачисленияРаботниковСрезПоследних.Показатель1Завершения
                                         |   КОНЕЦ КАК Сумма
                                         |ИЗ
                                         |   РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&ДатаСреза, Сотрудник = &Сотрудник) КАК ПлановыеНачисленияРаботниковСрезПоследних" ;
                                 
         ЗапросПрошлоеНачисление.УстановитьПараметр("ДатаСреза",  ДатаНачала-1);
         ЗапросПрошлоеНачисление.УстановитьПараметр("Сотрудник",  СтрокаРаботникаОрганизации.Сотрудник);
         ПрошлоеНачисление = ЗапросПрошлоеНачисление.Выполнить().Выбрать();
         Пока ПрошлоеНачисление.Следующий()Цикл
            Если ПрошлоеНачисление.Сумма = ПрошлоеНачисление.Показатель1Завершения  тогда
               
         ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
         ОбластьМакета.Параметры.Заполнить(ПрошлоеНачисление);
         ТабДокумент.Вывести(ОбластьМакета);
      Иначе   
         ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
         ОбластьМакета.Параметры.Заполнить(Выборка);
         ОбластьМакета.Параметры.ФИОРуководителя = РуководительКадровойСлужбы;
         ОбластьМакета.Параметры.ДолжностьРуководителя = ДолжностьРуководителя;
         ОбластьМакета.Параметры.ДАтаДоговора = Формат(Выборка.ДатаДоговора, "ДЛФ=ДД");
         ОбластьМакета.Параметры.Датаначала = Формат(Выборка.ДатаНачала, "ДЛФ=ДД");
         ТабДокумент.Вывести(ОбластьМакета);
      КонецЕсли;
         КонецЦикла;
Ну вот так я представляю решение этой проблемы,только вот ошибка выскакивает
ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(104,61)}: Переменная не определена (ДатаНачала)
         ЗапросПрошлоеНачисление.УстановитьПараметр("ДатаСреза",  <<?>>ДатаНачала-1); (Проверка: Толстый клиент (обычное приложение))

Подскажите может я не то что то делаю.

Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
Ещё раз здравствуйте

Мне нужно заменить одну область макета на другую и наоборот при определённом условии
Делаю я это в УСХП докумнте кадровое перемещени сотрудников организации
Внешняя обработка
Задача следующая
Если у сотрудника перемещаемого на другую должность либо в другое подразделение меняется сумма тарифа ну или оклада то должно писатся одно если же не изменились то другое.
Я пробывал вот так
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
ОбластьМакета.Параметры.Заполнить(Выборка);
Выборка = Запрос.Выполнить().Выбрать();
        Заменить = 0;
    Пока Выборка.Следующий() Цикл
    Если  Выборка.Период = Период - 1 Тогда
Заменить = 1;
КонецЕсли;
КонецЦикла;
Если Заменить = 0 Тогда
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
Иначе
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗаменяемая");
ТабДокумент.Вывести(ОбластьМакета);
КонецЕсли;
КонецЦикла;
Но не работает да и помоему тут что то не то получается
я даже не могу понять как это сделать
может кто то уже делал подскажите?

Вопрос: а что ты передаешь в параметр "Период", а потом еще и уменьшаешь на 1? :xfbnsdfb:
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)


Теги:
 

Добрый день Необходимо на основании типовой конфигурации бухгалтерии сделать обработку, которая будет переносить остатки со счета расчетов 62.01 с одной организации в документ ввода начальных

Автор ZSSРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 226
Последний ответ 18 Авг 2017, 11:57
от ZSS
Как из справочника вытащить список одной группы справочника и вставить его в поле документа для выбора одного элемента из полученного списка?

Автор ilnur75Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 1692
Последний ответ 21 Сен 2016, 08:16
от GadLex
"перемещение" документа в одной базе

Автор riff666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 221
Последний ответ 24 Окт 2017, 08:18
от alex0402
Вопрос новичка по главе из одной книги "Программирование формы документа"

Автор ZcehРаздел Пользователям "1С - Предприятие 8"

Ответов: 8
Просмотров: 4367
Последний ответ 03 Дек 2011, 12:51
от Zceh
Перенос данных справочника из одной базы в справочник другой базы

Автор kolkinРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 5927
Последний ответ 06 Дек 2014, 21:29
от Sinsinmin

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
AIFrame
64 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 269
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal