0 / 0 / 0 Регистрация: 29.05.2014 Сообщений: 3 |
|
1 |
|
1C 8.x (тонкий) Получение значения реквизита справочника в документ29.05.2014, 12:17. Показов 64936. Ответов 22
Добрый день, есть вопрос Есть справочник Сотрудники, реквизиты «Должность», «Дата рождения» Есть документ в нем табличная часть «Налоги» и его реквизиты «ФИО» «Должность» «ДатаРождения» если просто ссылаться через форму на значения справочника то в документе выводится визуально и ДатаРождения, и Должность, но на печати эти поля пустые и при установке условий они ни как не считываются, а как будто пустые Прошу в поиск не посылать, т.к. пробывал уже много вариантов в т.ч. программно через функции платформа 8.2
0 |
GreenkA 3051 / 1998 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
||||
29.05.2014, 12:34 |
2 |
|||
Mujinin, пропишите заполнение этих полей при изменении ФИО. Какая форма? Если управляемая, то значения получать придется на клиенте. Иначе — можно все в одной процедуре.
2 |
Mujinin 0 / 0 / 0 Регистрация: 29.05.2014 Сообщений: 3 |
||||
29.05.2014, 12:41 [ТС] |
3 |
|||
о мой спаситель….почему мне раньше этого никто не мог подсказать….я начал пол года назад и все время обходил это автозаполнение. делал все тоже самое только «ФИО» в
не выставлял
0 |
Anmut 0 / 0 / 0 Регистрация: 27.08.2015 Сообщений: 12 |
||||
27.08.2015, 09:09 |
4 |
|||
Не подскажите, а как сделать все тоже самое, но только у меня это не строки в ТЧ а реквизиты дока.
0 |
SonicQ 286 / 186 / 18 Регистрация: 20.02.2012 Сообщений: 925 |
||||
27.08.2015, 10:12 |
5 |
|||
Anmut, я бы лучше изменял реквизиты объекта на сервере. Думаю так будет правильнее
1 |
340 / 315 / 43 Регистрация: 20.08.2014 Сообщений: 1,242 Записей в блоге: 1 |
|
27.08.2015, 15:06 |
6 |
Думаю так будет правильнее нет не правильнее и ведет к снижению производительности. Вы туда сю форму спакуете и отправите, добавите и потом все это полетит назад по сети. Лучше серверный вызов делать в один раз, получать маленькие данные и заполнить на клиенте. Т.к. объет на форме уже заблокирован вами.
0 |
286 / 186 / 18 Регистрация: 20.02.2012 Сообщений: 925 |
|
27.08.2015, 17:28 |
7 |
1c-k,
0 |
286 / 186 / 18 Регистрация: 20.02.2012 Сообщений: 925 |
|
27.08.2015, 17:41 |
8 |
1c-k, бесспорно, вариант с объект.Реквизит = на клиенте быстрее…. Миниатюры
1 |
1c-k 340 / 315 / 43 Регистрация: 20.08.2014 Сообщений: 1,242 Записей в блоге: 1 |
||||
27.08.2015, 17:43 |
9 |
|||
SonicQ, это с чего такие выводы?
Добавлено через 1 минуту
Но зачастую нужно не просто изменить один объект… за код ниже от меня программеры получают нагоняй.
1 |
286 / 186 / 18 Регистрация: 20.02.2012 Сообщений: 925 |
|
27.08.2015, 17:45 |
10 |
1c-k, а клиент при этом плачет, что при заполнении одного реквизита все остальные не заполнились автоматом…
1 |
340 / 315 / 43 Регистрация: 20.08.2014 Сообщений: 1,242 Записей в блоге: 1 |
|
27.08.2015, 17:47 |
11 |
SonicQ, ахахаха. Срочно учить матчасть вызовов в управляемом приложении и что и как там происходит с контекстами. Добавлено через 1 минуту
1 |
286 / 186 / 18 Регистрация: 20.02.2012 Сообщений: 925 |
|
27.08.2015, 17:48 |
12 |
1c-k, я специально для примера так сделал
1 |
340 / 315 / 43 Регистрация: 20.08.2014 Сообщений: 1,242 Записей в блоге: 1 |
|
27.08.2015, 17:50 |
13 |
SonicQ, этот пример как грится делают все программеры которые переходят с обычного приложения в управляемое.
1 |
SonicQ 286 / 186 / 18 Регистрация: 20.02.2012 Сообщений: 925 |
||||||||
27.08.2015, 17:58 |
14 |
|||||||
1c-k, однако именно
реализовано в типовых конфигурациях, только там продолжения типа
1 |
340 / 315 / 43 Регистрация: 20.08.2014 Сообщений: 1,242 Записей в блоге: 1 |
|
27.08.2015, 18:05 |
15 |
SonicQ, однако надо давать себе отчёт, почему и что в типовых конфигурациях сделано. Добавлено через 45 секунд
1 |
286 / 186 / 18 Регистрация: 20.02.2012 Сообщений: 925 |
|
27.08.2015, 18:09 |
16 |
1c-k, палка двух концов =)
1 |
340 / 315 / 43 Регистрация: 20.08.2014 Сообщений: 1,242 Записей в блоге: 1 |
|
27.08.2015, 18:19 |
17 |
SonicQ, нет. Тут надо подходить из разумности вызовов, дёрганья сервера, и т.п.
1 |
0 / 0 / 0 Регистрация: 27.08.2015 Сообщений: 12 |
|
28.08.2015, 11:32 |
18 |
Читаю переписку «ассов» и чувствую себя полнейшим дураком в этих вопросах))). Я в програмировании 1с еще, если можно так сказать, новорожденный. Делаю себе индивидуальную конфу «с нуля» и понимаю, если бы вы ее увидели, то сто пудов я бы выслушал кучу слов не входящих в словарь русского языка.)))).
0 |
1c-k 340 / 315 / 43 Регистрация: 20.08.2014 Сообщений: 1,242 Записей в блоге: 1 |
||||
28.08.2015, 11:34 |
19 |
|||
Подскажите, пожалуйста, так правильно будет?
Это как вариант. Увидел бы написал как надо.
1 |
Anmut 0 / 0 / 0 Регистрация: 27.08.2015 Сообщений: 12 |
||||
28.08.2015, 11:44 |
20 |
|||
Спасибо огромное!!! сделал!!!
Добавлено через 2 минуты
0 |
Есть справочник Номенклатура, где хранится Наименование номенклатуры и ее СрокГодности в днях (30дн, 60дн и т.д.)
Есть документ РасходнаяНакладная с табличной частью ТабличнаяЧасть1, он заполняется на основании документа Заказ. В заказе нет СрокаГодности и это поле не заполняется.
Нужно из Номенклатуры по Наименованию вынести СрокГодности и записать это в ТЧ документа РасходжнаяНакладная
задан 15 фев 2019 в 6:49
Вам срок годности нужно заполнять не в момент изменения номенклатуры, а в момент когда на основании заказа создается реализация.
Поэтому, нужно доработать алгоритм создания на основании (см. ОбработкаЗаполнения) и доработать заполнения табличной части реализации.
Это нужно для того, чтобы у Вас сроки годности были заполнены сразу, за 1 запрос, а не как вы предлагаете кодом (каждую позицию нужно будет перевыбрать, чтобы срок годности отобразился).
ответ дан 15 фев 2019 в 9:44
Решил сам свою проблему. Решение ниже, мб кому поможет.
&НаКлиенте
Процедура ТабличнаяЧасть1НоменклатураПриИзменении(Элемент)
строка=Элементы.ТабличнаяЧасть1.ТекущиеДанные;
строка.СрокГодности=ПолучитьСрокГодности(строка.Номенклатура);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСрокГодности(Номенклатура)
Возврат Номенклатура.СрокГодности;
КонецФункции
ответ дан 15 фев 2019 в 7:24
paNdapaNda
191 серебряный знак5 бронзовых знаков
Значение реквизита справочника в табличной части документа |
Я |
08.12.14 — 20:53
8.3
РазделРаботы — это колонка в ТЧ документа, содержит Родителя колонки ВидРаботы.
оба значения суть — элементы спр. Номенклатура
в 8.1 работал БЫ примерно такой код:
&НаКлиенте
Процедура РаботыВидРаботыПриИзменении(Элемент)
// Вставить содержимое обработчика.
Если Элемент <> Неопределено Тогда
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
ТекДанные.РазделРаботы = ТекДанные.ВидРаботы.Родитель;
КонецЕсли;
КонецПроцедуры
НО!
в 8.3 не работает, т.к. нельзя обратиться к реквизитам колонки подобным образом.
а как обращаться ?
какие сейчас нужны финты ушами для элементарных вещей ?
Заранее спасибо за подробности.
1 — 08.12.14 — 20:55
Вот можно написать:
ТекДанные.РазделРаботы = ТекДанные.ВидРаботы;
но НЕЛЬЗЯ:
ТекДанные.РазделРаботы = ТекДанные.ВидРаботы.Родитель;
2 — 08.12.14 — 20:56
Не..
Текданные = элементыформы.твояТЧ.текущиеданные;
3 — 08.12.14 — 20:56
либо элемент.текущиеданные
4 — 08.12.14 — 20:57
колонки должны быть добавлены на форме. Если колонка скрыта — в реквизитах формы установить галку «использовать всегда»
5 — 08.12.14 — 20:58
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
вот эту строку какой заменить ?
6 — 08.12.14 — 20:58
Я всё сказал, за сим всё
7 — 08.12.14 — 20:58
я нахожусь в строке документа, при ее изменении.
8 — 08.12.14 — 20:59
колонки добавлены, ничего не скрыто.
9 — 08.12.14 — 21:02
{Документ.СметаНаОбъект.Форма.ФормаДокумента.Форма(6,15)}: Переменная не определена (ЭлементыФормы)
ТекДанные = <<?>>ЭлементыФормы.Работы.ТекущиеДанные; (Проверка: Тонкий клиент)
10 — 08.12.14 — 21:02
(6) твой совет выдает ошибку
11 — 08.12.14 — 21:09
советы (6) бесполезны
ТекДанные = ЭтотОбъект.Элементы.Работы.ТекущиеДанные;
ТекДанные.РазделРаботы = ТекДанные.ВидРаботы.Родитель;
доступа к реквизитам нет, хотя в отладчике ТекДанные.ВидРаботы имеет тип СправочникСсылка.
как достать реквизит такого справочника ?
12 — 08.12.14 — 21:12
РЕШЕНО!!!
Ответ для будущих поколений:
реквизиты можно достать только с сервера
вот код:
// Расчет суммы по строке
&НаКлиенте
Процедура РассчитатьСумму(СтрокаТабличнойЧасти)
СтрокаТабличнойЧасти.сумма = СтрокаТабличнойЧасти.цена * СтрокаТабличнойЧасти.количество
КонецПроцедуры
// Подстановка цены
&НаКлиенте
Процедура ЗаполнитьЦену(СтрокаТабличнойЧасти)
ЦенаТовара = ПолучитьЦенуТовара(СтрокаТабличнойЧасти.товар);
СтрокаТабличнойЧасти.цена = ЦенаТовара;
РассчитатьСумму(Элементы.товары.ТекущиеДанные);
КонецПроцедуры
&НаСервере
Функция ПолучитьЦенуТовара(товар)
Возврат товар.цена;
КонецФункции
&НаКлиенте
Процедура товарыколичествоПриИзменении(Элемент)
РассчитатьСумму(Элементы.товары.ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Процедура товарыценаПриИзменении(Элемент)
РассчитатьСумму(Элементы.товары.ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Процедура товарытоварПриИзменении(Элемент)
ЗаполнитьЦену(Элементы.товары.ТекущиеДанные);
КонецПроцедуры
Murdoch
13 — 08.12.14 — 21:19
Для простоты, мой верхний код дополняется вызовом сервера.
&НаКлиенте
Процедура РаботыВидРаботыПриИзменении(Элемент)
// Вставить содержимое обработчика.
Если Элемент <> Неопределено Тогда
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
ТекДанные.РазделРаботы = ПолучитьРазделРабот(ТекДанные.ВидРаботы);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьРазделРабот(Элемент)
Возврат Элемент.Родитель;
КонецФункции
Тема: Получение значения реквизита элемента из справочника в документ
-
17.05.2019, 09:54
#1
Гость форума
Получение значения реквизита элемента из справочника в документ
Доброго времени суток! У меня возникли некоторые трудности с получением значения реквизита из справочника в документ. Мне нужно, чтобы когда я в табличной части (документа) в реквизите «Номенклатура» выбирал какую-то номенклатуру, то в реквизит «Цена» табличной части, записывалась её цена из справочника. Для того, чтобы получить значение из справочника, как я понял, нужно создать функцию….А вот как прописать в функции то, что она должна возвращать цену какой-то номенклатуры?
В справочнике «Номенклатура» у меня хранятся книги. Через предопределённые данные я создал группы (Жанры книг) и в каждом из жанров находятся элементы (книги) с информацией об авторе и тд.
-
17.05.2019, 10:38
#2
Пришел за помощью
Re: Получение значения реквизита элемента из справочника в документ
Какая конфигурация? на какой платформе?
-
17.05.2019, 10:54
#3
Re: Получение значения реквизита элемента из справочника в документ
Сообщение от MasterLoma
Доброго времени суток! У меня возникли некоторые трудности с получением значения реквизита из справочника в документ. Мне нужно, чтобы когда я в табличной части (документа) в реквизите «Номенклатура» выбирал какую-то номенклатуру, то в реквизит «Цена» табличной части, записывалась её цена из справочника. Для того, чтобы получить значение из справочника, как я понял, нужно создать функцию….А вот как прописать в функции то, что она должна возвращать цену какой-то номенклатуры?
В справочнике «Номенклатура» у меня хранятся книги. Через предопределённые данные я создал группы (Жанры книг) и в каждом из жанров находятся элементы (книги) с информацией об авторе и тд.Цена — это реквизит справочника «Номенклатура»?
Тогда можно обращаться без функции: Цена=Номенклатура.Цена;
Это должно быть прописано в процедуре «ПриВыбореНоменклатуры», которая назначается колонке «Номенклатура»вашей табличной части
-
17.05.2019, 11:07
#4
Пришел за помощью
Re: Получение значения реквизита элемента из справочника в документ
на клиенте он заполняет табличную часть….. не обратиться он объектно!
-
17.05.2019, 11:10
#5
Пришел за помощью
Re: Получение значения реквизита элемента из справочника в документ
&НаКлиенте
**************
Для каждого стр из Объект.Товары Цикл /// к примеру, либо получать текущую строку табличной части
Цена =ВернутьЦену(стр.Номенклат� �ра);
**************************&НаСервере
Функция ВернутьЦену(Товар)
Если Не ЗНачениеЗаполнено(Товар) Тогда
Возврат 0;
КонецЕсли;Возврат Товар.Цена;
КонецФункции
-
Пользователь сказал cпасибо:
-
17.05.2019, 11:20
#6
Пришел за помощью
Re: Получение значения реквизита элемента из справочника в документ
Сообщение от Margofs
&НаКлиенте
**************
Для каждого стр из Объект.Товары Цикл /// к примеру, либо получать текущую строку табличной части
Цена =ВернутьЦену(стр.Номенклат� �ра);
**************************&НаСервере
Функция ВернутьЦену(Товар)
Если Не ЗНачениеЗаполнено(Товар) Тогда
Возврат 0;
КонецЕсли;Возврат Товар.Цена;
КонецФункциичасть
-
17.05.2019, 12:23
#7
Re: Получение значения реквизита элемента из справочника в документ
Сообщение от Margofs
&НаКлиенте
**************
Для каждого стр из Объект.Товары Цикл /// к примеру, либо получать текущую строку табличной части
Цена =ВернутьЦену(стр.Номенклат� �ра);
**************************&НаСервере
Функция ВернутьЦену(Товар)
Если Не ЗНачениеЗаполнено(Товар) Тогда
Возврат 0;
КонецЕсли;Возврат Товар.Цена;
КонецФункцииМожно так:
&НаКлиенте
Процедура ТабличнаяЧасть1Номенклату� �аПриИзменении(Элемент)
ТекущиеДанные = Элементы.ТабличнаяЧасть1.Т� �кущиеДанные;
УИ=ТекущиеДанные.Номенклат ура.УникальныйИдентификат� �р();
ТекущиеДанные.Цена=НайтиЦе ну(УИ);
КонецПроцедуры
&Насервере
Функция НайтиЦену(Реквизит)
ТекН=Справочники.Номенклат ура.ПолучитьСсылку(Реквизи т);
Возврат ТекН.Цена;КонецФункции
-
Пользователь сказал cпасибо:
-
17.05.2019, 14:03
#8
Гость форума
Re: Получение значения реквизита элемента из справочника в документ
Сообщение от Margofs
Какая конфигурация? на какой платформе?
1С:Предприятие 8.3, учебная версия (8.3.6.2014)
-
17.05.2019, 14:04
#9
Гость форума
Re: Получение значения реквизита элемента из справочника в документ
Сообщение от Margofs
&НаКлиенте
**************
Для каждого стр из Объект.Товары Цикл /// к примеру, либо получать текущую строку табличной части
Цена =ВернутьЦену(стр.Номенклат� �ра);
**************************&НаСервере
Функция ВернутьЦену(Товар)
Если Не ЗНачениеЗаполнено(Товар) Тогда
Возврат 0;
КонецЕсли;Возврат Товар.Цена;
КонецФункцииСпасибо попозже попробую таким образом сделать.
Похожие темы
-
Ответов: 16
Последнее сообщение: 24.03.2017, 10:41
-
Ответов: 0
Последнее сообщение: 14.01.2014, 12:53
-
Ответов: 1
Последнее сообщение: 24.04.2012, 13:36
-
Ответов: 0
Последнее сообщение: 28.01.2012, 12:20
-
Ответов: 4
Последнее сообщение: 11.11.2011, 08:35
Социальные закладки
Социальные закладки
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
- BB коды Вкл.
- Смайлы Вкл.
- [IMG] код Вкл.
- [VIDEO] код Вкл.
- HTML код Выкл.
Правила форума
Элексир, работать будет, но для 8.Х это идеологически неправильный метод, т.к. перебор будет на стороне клиента (если специально не сделать общий модуль с серверной обработкой), а 8.Х клиент-серверная и правильно ресурсоемкие задачи выполнять на сервере.
Gunslinger, ИМХО нагляднее всего (не в ущерб правильности решения) сделать запросом. Получится что-то вроде:
ТекстЗапроса=
«ВЫБРАТЬ
| НазваниеСправочника.Ссылка,
| НазваниеСправочника.Реквизит1,
| НазваниеСправочника.Реквизит2,
| НазваниеСправочника.Реквизит3
|ИЗ
| Справочник.НазваниеСправочника КАК НазваниеСправочника
|ГДЕ
| (НазваниеСправочника.Реквизит4 = &Параметр4)
| И (НазваниеСправочника.Реквизит5 = &Параметр5)
|
|СГРУППИРОВАТЬ ПО
| НазваниеСправочника.Ссылка,
| НазваниеСправочника.Реквизит1,
| НазваниеСправочника.Реквизит2,
| НазваниеСправочника.Реквизит3
|»;
Запрос=Новый Запрос(ТекстЗапроса);
Запрос.Параметры.Вставить(«Параметр4», РеквизитДокумента4);
Запрос.Параметры.Вставить(«Параметр5», РеквизитДокумента5);
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
// Заполняем табличную часть
Стр=ТабличнаяЧастьДокумента.Добавить();
Стр.Реквизит1=Выборка.Реквизит1;
// …
КонецЦикла;
Не забудь заменить заглушки на реальные названия справочника и реквизитов
Войти или зарегистрироваться
8.х Получить реквизит элемента справочника в табличную часть управляемой формы документа
Тема в разделе «Конфигурирование на платформе «1С:Предприятие 8″», создана пользователем Сергей081983, 4 мар 2017.
-
0/5,
Голосов: 0
-
Offline
Сергей081983
- Регистрация:
- 3 июл 2016
- Сообщения:
- 2
- Симпатии:
- 0
- Баллы:
- 1
Здравствуйте,
как программно обратиться к реквизиту справочника из управляемой формы документа?
1С:Предприятие 8.3 (8.3.7.1873)
Последнее редактирование: 4 мар 2017
Сергей081983,
4 мар 2017
#1 -
Offline
Сергей081983
- Регистрация:
- 3 июл 2016
- Сообщения:
- 2
- Симпатии:
- 0
- Баллы:
- 1
Мне просто надо вместе с выбором номенклатуры в колонку цена проставить реквизит цена этого выбранного элемента справочника.
Сергей081983,
4 мар 2017
#2
- Похожие темы
-
8.х
Добавление записи в табличную часть элемента справочника
denmember,
19 дек 2006, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 4
- Просмотров:
- 6.178
- denmember
- 19 дек 2006
-
7.7
Вывод реквизита справочника в табличную часть документа
doniel,
17 сен 2010, в разделе: Общие вопросы «1С:Предприятие 7.7»
- Ответов:
- 28
- Просмотров:
- 5.617
- doniel
- 22 сен 2010
-
8.х
Добавление элементов в табличную часть документа из справочника.
mila1231,
10 июн 2016, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 5
- Просмотров:
- 2.317
- mila1231
- 20 июн 2016
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…
1
2
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Декстер
Дата регистрации: 16.11.2005
Сообщений: 33
Помогите. Как при выборе реквизита в шапке документа вставить весь столбец из справочника в столбец табличной части документа.
np
Дата регистрации: 18.09.2004
Сообщений: 185
Сформулируйте точнее…,опишите контекст.
Декстер
Дата регистрации: 16.11.2005
Сообщений: 33
У меня такая проблема, как заполнить табличную часть документа из справочника дело вот в чем. Документ называется Лимитно заборная карта и когда при выборе материала в шапке документа становиться актиным реквиз СкладПолучатель там выбираем склад и после этого хотелось чтобы когда мы вибираем СкладПолучатель то столбцы и все строки из подчиненного справочника Номенклатура Заполнили всю табличную часть.
ValeraH
Дата регистрации: 31.03.2004
Сообщений: 264
«У меня в одной из баз в процедуре ОбработкаПодбора документа такой кусок:<br> Если ТекТовар.ВидТовара=Перечисление.ВидыТоваров.Комплект Тогда<br> Кмп=СоздатьОбъект(«Справочник.Комплектация»);<br> Кмп.ИспользоватьВладельца(ТекТовар);<br> Кмп.ВыбратьЭлементы();<br> Пока Кмп.ПолучитьЭлемент()>0 Цикл <br> Если (Кмп.ПометкаУдаления()=1) тогда<br> Продолжить;<br> КонецЕсли;<br> НоваяСтрока();<br> Товар=Кмп.Товар;<br> Количество=Кмп.Количество; <br> РознЦена=Товар.Розн_Цена;<br> УстанЦеныРасх(Контекст);<br> Выч_суммы_накл(Контекст);<br> КонецЦикла;<br> Кмп=0; <br> Основание=СокрЛП(СокрЛП(Основание)+» «+СокрЛП(ТекТовар.Наименование));<br> Иначе<br><br>К примеру, менеджер выбрал товар «ТО-30″, и все запчасти и расходные материалы для данного ТО (перечисленные в подчиненном справочнике Комплектация) попадают в документ.<br>»
Декстер
Дата регистрации: 16.11.2005
Сообщений: 33
А можно увидеть всю эту процедуру
ValeraH
Дата регистрации: 31.03.2004
Сообщений: 264
ОбработкаПодбора это Предопределенная процедура, она есть и в твоём документе, её надо только подкорректировать. Моя может сильно отличаться, возникнут проблемы.
Декстер
Дата регистрации: 16.11.2005
Сообщений: 33
Ну все равно я бы хотел увидеть твою процедуру может пригодиться на будущеее если ты конечно не против!
ValeraH
Дата регистрации: 31.03.2004
Сообщений: 264
«На форме документа лежит кнопка «Подбор по каталогу» с вызовом процедуры Подбор()<br>//————————————————<br>Процедура Подбор()<br> ОткрытьПодбор(«Товары»,»ДляПодбора»);<br>КонецПроцедуры<br>//————————————————<br>Процедура ОбработкаПодбора(ТекТовар) <br> Если ТекТовар.ВидТовара=Перечисление.ВидыТоваров.Комплект Тогда<br> Кмп=СоздатьОбъект(«Справочник.Комплектация»);<br> Кмп.ИспользоватьВладельца(ТекТовар);<br> Кмп.ВыбратьЭлементы();<br> Пока Кмп.ПолучитьЭлемент()>0 Цикл <br> Если (Кмп.ПометкаУдаления()=1) тогда<br> Продолжить;<br> КонецЕсли;<br> НоваяСтрока();<br> Товар=Кмп.Товар;<br> Количество=Кмп.Количество; <br> РознЦена=Товар.Розн_Цена;<br> УстанЦеныРасх(Контекст);<br> Выч_суммы_накл(Контекст);<br> КонецЦикла;<br> Кмп=0; <br> Основание=СокрЛП(СокрЛП(Основание)+» «+СокрЛП(ТекТовар.Наименование));<br> Иначе<br> Если Константа.ЗапрашиватьКоличество=Перечисление.Булево.Да Тогда<br> Кол=1;<br> Если ВвестиЧисло(Кол,»Введите количество»,10,0)=1 Тогда<br> НоваяСтрока();<br> Товар=ТекТовар;<br> Количество=Кол;<br> Иначе<br> Возврат;<br> КонецЕсли;<br> Иначе<br> НоваяСтрока();<br> Товар=ТекТовар;<br> Количество=1;<br> КонецЕсли;<br> УстанЦеныРасх(Контекст);<br> Выч_суммы_накл(Контекст);<br> АктивизироватьСтроку(); <br> КонецЕсли;<br>КонецПроцедуры<br>//————————«
Декстер
Дата регистрации: 16.11.2005
Сообщений: 33
А ты бы не мог пояснить строку : Если ТекТовар.ВидТовара=Перечисление.ВидыТоваров.Комплект тогда.
ValeraH
Дата регистрации: 31.03.2004
Сообщений: 264
У меня в справочнике Товары (Номенклатура) есть реквизит ВидТовара (Товар, Услуга, Комплект…) Если выбран Товар, у которого данный реквизит = «Комплект», то в табличную часть документа заносится подчиненный справочник к данному товару.