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

Автор Тема: Заполнение ТЧ документа данными из ТЧ справочника  (Прочитано 1595 раз)

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

Оффлайн xenia.oleg

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-07-22
  • Сайт: 
Помогите пожалуйста) Нужно реализовать автоматическое заполнение ТЧ формы документа из ТЧ справочник, при изменении Клиента. Получить данные из справочника получилось, но отбор в соответствии с выбранным клиентом и запись в ТЧ документа сделать не получается.

&НаКлиенте
Процедура КлиентПриИзменении(Элемент)
      
      Объект.Телефоны = ПолучитьТелефоны(Объект.Клиент);
      
         //Записать = 
      ПолучитьКурсы(ТабДок, Объект.Клиент);

  //     Для каждого  Строка из Записать цикл
  //     Элементы.ОплатаКурсов.ДобавитьСтроку();
  //Строка = Элементы.ОплатаКурсов.ТекущиеДанные;
  //Строка.Курс = ; 
  //КонецЦикла;
  //             
КонецПроцедуры

//СправочникТабличнаяЧасть.Клиенты.ИзучаемыеКурсы

// <Описание функции>
//
// Параметры:
//  <Параметр1>  - <Тип.Вид> - <описание параметра>
//                 <продолжение описания параметра>
//  <Параметр2>  - <Тип.Вид> - <описание параметра>
//                 <продолжение описания параметра>
//
// Возвращаемое значение:
//   <Тип.Вид>   - <описание возвращаемого значения>
//
&НаСервереБезКонтекста
Функция ПолучитьТелефоны(Клиенты)
       Возврат Клиенты.Телефоны;
КонецФункции

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


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Вы для начала попробуйте сами прочитать тот код, который вы привели. с кучей коментов и прочей лабуды.

Оффлайн xenia.oleg

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-07-22
  • Сайт: 
&НаКлиенте
Процедура КлиентПриИзменении(Элемент)
      ПолучитьКурсы(ТабДок, Объект.Клиент);           
КонецПроцедуры

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

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

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Что-то у вас на уровне кто в лес, кто по дрова.
Вы привели код вывода в табличный документ (mxl), при этом спрашиваете
запись в ТЧ документа сделать не получается.
Как соотностится табличная часть документа и какой-то табличный документ на форме? вы разницу понимаете?


Оффлайн xenia.oleg

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-07-22
  • Сайт: 
Разницу понимаю. Прописывала так, что бы увидеть результат запроса, ибо как выгрузить данные в ТЧ не могу понять.

Оффлайн Rasty

  • *****
  • Сообщений: 989
  • РЕПУТАЦИЯ: 139
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
Так что и куда вы хотите добавить? Если строки в макет, то ТабДок.Вывести(ОблДет,Выборка.Уровень())
А если вы хотите добавить строку в табличную часть документа, то
Пока чтототам цикл
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.ВашРеквизит = НужноеЗначение;
...
...
...
КонецЦикла;
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
 
 Выборка = Результат.Выбрать();
 Пока Выборка.Следующий() Цикл
      НоваяСтрока=Объект.<ВашаТЧ>.Добавить();
      НоваяСтрока.<Что-то тут>=Выборка.<что-то там>;
        и т.д.
   КонецЦикла;
КонецФункции

Оффлайн xenia.oleg

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-07-22
  • Сайт: 
Спасибо, огромное! Работает!
Но теперь другая проблема, запрос срабатывает не верно. Должны выводится курсы соответствующие конкретному клиенту, а ничего не выводит.

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

Подскажите, где ошибка в запросе?
Добавлено: 23 Июл 2015, 10:03

Разобралась) Вспомнила про чудесную Консоль запросов!

Последний раз редактировалось: xenia.oleg; 23 Июл 2015, 10:03. Причина: Объединение сообщений


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

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

Ответов: 1
Просмотров: 4473
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7744
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

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

Ответов: 1
Просмотров: 4780
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

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

Ответов: 14
Просмотров: 8511
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Фамилия руководителя в печатных формах документа "Акт сверки", "Акт об оказании"

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

Ответов: 1
Просмотров: 7343
Последний ответ 03 Фев 2012, 17:27
от Dinah

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
50 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal