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

Автор Тема: Заполнение в табличную часть документа из справочника по определенному реквизиту  (Прочитано 3007 раз)

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

Оффлайн witch_n

  • *
  • Регистрация: 2016-08-18
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Профессия: Программист 1С
В табличную часть документ Заполнениеданныхсрц, подбираю по реквизиту ЛицевойсчетСРЦ из справочника КарточкаАбонента Абонентов. В табличную чать Абоненты не выходят, но когда вызываю метоб Сообщить(стр.Абонент); они отображаются. Помогите разобраться пожалуйста!




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


Выборка=Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из Выборка Цикл
Выборка1=Справочники.КарточкаАбонента.НайтиПоРеквизиту("ЛицСчет",Стр.ЛицСчет,,);
Выборка2=Выборка1.ПолучитьОбъект();
стр.Абонент=Выборка2.ссылка;

Сообщить(стр.Абонент);
КонецЦикла;


Оффлайн SGIRG

  • ***
  • Регистрация: 2014-03-26
  • Сообщений: 114
  • РЕПУТАЦИЯ: 33
  • КПД: 29%
Для чего все это?
Для Каждого Стр Из Выборка Цикл 
Выборка1=Справочники.КарточкаАбонента.НайтиПоРеквизиту("ЛицСчет",Стр.ЛицСчет,,);
Выборка2=Выборка1.ПолучитьОбъект();
стр.Абонент=Выборка2.ссылка;

Сообщить(стр.Абонент);
КонецЦикла;

У Вас же в запросе уже есть ссылка на карточку абонента:
|   ВТ_Справочн.Ссылка, 
Нажимайте "Спасибо", так приятнее))

Оффлайн witch_n

  • *
  • Регистрация: 2016-08-18
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Профессия: Программист 1С

Оффлайн SGIRG

  • ***
  • Регистрация: 2014-03-26
  • Сообщений: 114
  • РЕПУТАЦИЯ: 33
  • КПД: 29%
У Вас и Запрос то весь написан как-то необдуманно и криво.
Опишите, что конкретно и куда должно заполняться и на основе чего
Нажимайте "Спасибо", так приятнее))

Оффлайн witch_n

  • *
  • Регистрация: 2016-08-18
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Профессия: Программист 1С
В документе у меня есть поле лицевыесчетаСРЦ, я обращаюсь к справочнику карточкаАбонента в нем есть поле Лицсчет и сравнивая эти два поля вывожу в табличную часть документа справочник Карточка Абонента

Оффлайн SGIRG

  • ***
  • Регистрация: 2014-03-26
  • Сообщений: 114
  • РЕПУТАЦИЯ: 33
  • КПД: 29%
В документе у меня есть поле лицевыесчетаСРЦ
Это строковое поле?
1. А почему бы не ссылка на справочник КарточкаАбонента???? Судя по всему в карточке, поле Личевой счет уникально, а это значит, что можно в свойствах справочника поставить ввод по строке по полю Лицевой счет. И тогда при наборе счета в документе будет подтягиваться ссылка на карточку абонента.
2. В событиях при изменении поля лицевыесчетаСРЦ сделать заполнение ТЧ из уже заполненной способом выше ссылки.

Либо в первом способе оставляете строку, а в событиях "ПриИзменеии" Ищете ссылку на элемент справочника и так же на основе неё заполняете ТЧ.

не нужно делать запросы к самому документу.
Нажимайте "Спасибо", так приятнее))

Оффлайн witch_n

  • *
  • Регистрация: 2016-08-18
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Профессия: Программист 1С
Это число, Покажите на коде пожалуйста, так мне сложновато очень

Оффлайн SGIRG

  • ***
  • Регистрация: 2014-03-26
  • Сообщений: 114
  • РЕПУТАЦИЯ: 33
  • КПД: 29%
Это число
Эм... это самописный справочник или типовой? Крайне не логично номер лицевого счета делать числом это всегда должна быть строка, т.к. личевые счета часто могут начинаться на некоторое количество нулей.

вот пример, если ЛицевойсчетСРЦ не ссылка:
1. Необходимо объявить событие элемента формы ПриИзменении
2. В созданную процедуру запихать след. код.
&НаКлиенте
Процедура ЛицевойсчетСРЦПриИзменении(Элемент)
    ЗаполнитьТЧНаОсновеЛицевогоСчета();
КонецПроцедуры

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

Это при условии, что ЛицевойсчетСРЦ находится в реквизитах документа.

Сложно написать конкретный код, если не известны метаданные справочника и документа
Нажимайте "Спасибо", так приятнее))

Оффлайн witch_n

  • *
  • Регистрация: 2016-08-18
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Профессия: Программист 1С

Оффлайн SGIRG

  • ***
  • Регистрация: 2014-03-26
  • Сообщений: 114
  • РЕПУТАЦИЯ: 33
  • КПД: 29%
Только если вечером. Яндекс диск у нас заблокирован.
Нажимайте "Спасибо", так приятнее))


Теги:
 

Ячейка табличного документа

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

Ответов: 4
Просмотров: 14147
Последний ответ 31 Мар 2011, 08:23
от Tata86
При проведении документа "Приобретение товаров и услуг" возникает ошибка

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

Ответов: 2
Просмотров: 223
Последний ответ 16 Сен 2020, 10:11
от Дмитрий Джей
Ошибка при проведении документа "Приобретение товаров и услуг (создание)"

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

Ответов: 1
Просмотров: 283
Последний ответ 22 Фев 2021, 06:22
от Геннадий ОбьГЭС
Запретить перепроведение документа

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

Ответов: 1
Просмотров: 423
Последний ответ 28 Июн 2019, 10:03
от LexaK
Создание документа в УТ 10

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

Ответов: 4
Просмотров: 2027
Последний ответ 10 Окт 2019, 19:21
от skillful

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

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

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


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

* Реклама

* Поиск

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

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

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

LexaK
69 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
neek666
33 Сообщений
antoneus antoneus
31 Сообщений
Ивашка
25 Сообщений
KATERINA 861
18 Сообщений
Алексей_1985_06
17 Сообщений
SSC
13 Сообщений
alexandr_ll
12 Сообщений
BuhRust
10 Сообщений

* Кто онлайн

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

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

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

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

Поиск