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

Автор Тема: Помогите с Макетом и параметрами  (Прочитано 8157 раз)

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

Оффлайн AxOn

  • **
  • Сообщений: 82
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-04
  • Сайт: 
Привет. Помогите плизз.

У меня выберается контрагент из списка и в зависмости от него нужно что бы изменялись и соответствующие параметры в макете.
Если одинаковые имена  у контрагентов. Как это можно сделать?

МакетДата = ЭлементыФормы.Дата.Значение;
   ТабДок = новый ТабличныйДокумент;
   Макет = Документы.ЗаказПоставщику.ПолучитьМакет("МакетЗаказПоставщику");
   Шапка = Макет.ПолучитьОбласть("Шапка");
   Шапка.Параметры.МНомер = МакетНомер;
   Шапка.Параметры.МДата = МакетДата;
   
   СписокОрганизация = ЭлементыФормы.СписокОрганизация.Значение;
   Контрагенты = Макет.ПолучитьОбласть("Контрагенты");
   
//Возможно вам покажется что я написал какую-то нелепецу = )
           Контрагенты.Параметры.МСписокОрганизация = СписокОрганизация;
   СписокОрганизация = Справочники.Контрагенты = СписокОрганизация;
   СписокОрганизация.ПолучитьФорму(????????????
   
   
   
    ТабДок.Вывести(Контрагенты);
   ТабДок.Вывести(Шапка);
   ТабДок.Показать();


Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Чем точнее вы формулируете вопрос, тем с большей долей вероятности вам помогут.
"У меня выберается контрагент из списка и в зависмости от него нужно что бы изменялись и соответствующие параметры в макете."
Если вы имеете ввиду значение параметров в макете, в данном случае, как я понял, параметр "Контрагенты", области "Контрагенты", то

   СписокОрганизация = ЭлементыФормы.СписокОрганизация.Значение;
   Контрагенты = Макет.ПолучитьОбласть("Контрагенты");
   
          Контрагенты.Параметры.МСписокОрганизация = СписокОрганизация;

Что вы хотели сделать дальше - для меня загадка...
   СписокОрганизация = Справочники.Контрагенты = СписокОрганизация;
   СписокОрганизация.ПолучитьФорму(????????????

Оффлайн AxOn

  • **
  • Сообщений: 82
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-04
  • Сайт: 
progmikon что бы в зависимости от выбора из списка организации. Параметры её менялись автаматически в макете.
как ещё написать... Имя организации ИНН. адрес итп. Я делаю макет на примере Накладной товаров.

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
СписокОрганизация = ЭлементыФормы.СписокОрганизация.Значение;
Контрагенты = Макет.ПолучитьОбласть("Контрагенты");
Контрагенты.Параметры.МСписокОрганизация = СписокОрганизация;
Если у вас под ИНН, Адрес - в макете отдельные поля, тогда
ОбластьМакета = Макет.ПолучитьОбласть("ИНН");
ОбластьМакета.Параметры.ИНН = СписокОрганизация.ИНН;
и т.п.

Если у вас все характеристики в одной области, тогда
ОбластьМакета = Макет.ПолучитьОбласть("Контрагент");
ОбластьМакета.Параметры.Заполнить(СписокОрганизация); //главное чтобы у вас имена реквизитов и областей совпадали.

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Или вопрос в том, как изменить значения в уже открытом макете?

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Если все же нужно менять данные в открытом макете, необходимо в форму отчета/обработки добавить поле табличного документа. Именно в него вы и будете выводить отчет.
Код кнопки формирования примерно такой:

Процедура КнопкаСформироватьНажатие(Кнопка)
   ТАбдок = ЭлементыФормы.ПолеТабличногоДокумента1;
   Область = ТабДок.НайтиТекст("Покупатель");
   Если ТипЗнч(Область) = Тип("Неопределено") Тогда
      Макет  =ПолучитьМакет("Макет");
      ОбластьМакета = Макет.ПолучитьОбласть("Строка");
      ОбластьМакета.Параметры.Контрагент = ПолеВвода1;
      ТабДок.Вывести(ОбластьМакета);
      ТабДок.Показать(Истина);
   Иначе
      ИмяОбласти = Область.Имя;
      ПозСтр = Найти(ИмяОбласти, "R");
      ПозКол = Найти(ИмяОбласти, "C");
      Стр = Сред(ИмяОбласти, 2, ПозКол-2);
      Кол = Число(Сред(ИмяОбласти, ПозКол+1))+1;
      ТабДок.Область("R" + Стр + "C" + Кол).Текст = ПолеВвода1;
   КонецЕсли;
КонецПроцедуры

В нем есть несколько допущений:
1)  у меня есть в макете  есть область с именем "Строка". В ней первая колонка  содержит текст "Покупатель", а следующая колонка параметр "контрагент". Именно по этому  Кол = Число(Сред(ИмяОбласти, ПозКол+1))+1. в зависимости от расположения ваших областей, вы должны поправить это выражение.
2) строка "покупатель" находится в одной ячейке. (для области необходимо дописать определение позиции).
3) если стр и кол >100 необходимо их дополнительно почистить от непечатаемых символов

Оффлайн AxOn

  • **
  • Сообщений: 82
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-04
  • Сайт: 
всё спасибо разобрался. Сейчас немогу разобраться как присвоить табличные значения в макет
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(СписокОрганизация);

и среди элементов формы есть таблица КонтактТел. Как вытащить из неё значения строк

Наимен = Контрагент.КонтактТел.Наимен.ФУНКЦИИИИИИ , почти все перепробовал немогу присвоить значения

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Например так:
Для Каждого Текстрока Из КонтактТел Цикл
ОбластьМакета = Макет.ПолучитьОбласть("Телефон");
ОбластьМакета.Параметры.Телефон = ТекСтрока.Телефон;
ТабДок.Вывести(ОбластьМакета);
КонецЦикла;

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Или так:
СтрокаТелефонов = "";
Для Каждого Текстрока Из КонтактТел Цикл
СтрокаТелефонов = СтрокаТелефонов + ТекСтрока + "; ";
КонецЦикла;
ОбластьМакета = Макет.ПолучитьОбласть("Телефон");
ОбластьМакета.Параметры.Телефон = СтрокаТелефонов;
ТабДок.Вывести(ОбластьМакета);

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Ошибся:
СтрокаТелефонов = "";
Для Каждого Текстрока Из КонтактТел Цикл
СтрокаТелефонов = СтрокаТелефонов + ТекСтрока.ТЕЛЕФОН + "; ";
КонецЦикла;
ОбластьМакета = Макет.ПолучитьОбласть("Телефон");
ОбластьМакета.Параметры.Телефон = СтрокаТелефонов;
ТабДок.Вывести(ОбластьМакета);


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

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

Ответов: 1
Просмотров: 4943
Последний ответ 24 Дек 2015, 15:34
от дфтын
На фото демонстрируется личная карточка сотрудника, но во столбце "ЗА ЯКИЙ ПЕРІОД " не показывает ничего, как это можно решить, помогите пожалуйста

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

Ответов: 9
Просмотров: 324
Последний ответ 26 Июл 2018, 17:44
от alex0402
Помогите подобрать Back-office и Front-office

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

Ответов: 1
Просмотров: 6200
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

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

Ответов: 2
Просмотров: 6483
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

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

Ответов: 4
Просмотров: 5553
Последний ответ 10 Сен 2015, 13:57
от Dm109

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
63 Сообщений
AIFrame AIFrame
57 Сообщений
wise wise
55 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
46 Сообщений
alexandr_ll
45 Сообщений
alex0402
44 Сообщений
BuhRust
30 Сообщений
LexaK
26 Сообщений
andron81_81
24 Сообщений
byte777
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal