Имя: Пароль:
1C
1С v8
Контрагент в Табличной части "Товары"
0 Pavel55555
 
28.10.16
13:19
Доброго дня!
Платформа 8.3 Толстый клиент. УТ 10.3
Документ "Поступление товаров и услуг", задача -  в списке табличной части "Товары" в новой колонке вывести контрагента товара т.е. "Основной поставщик", не в документе поступления! а именно в табличной части, другими словами вывод ссылки на контагента текущего товара.

Колонку "Поставщик" создал, данные "СправочникСсылка.Контрагенты"

Не могу сообразить как реализовать, штатными средствами или процедуру сочинять или процедуру с запросом?
Подскажите откуда ноги растут!
Спасибо!
1 Лефмихалыч
 
28.10.16
13:21
(0) а как по номенклатурной позиции определить этого основного поставщика?
2 Альбатрос
 
28.10.16
13:21
Способов мильон, все зависит от того, как ты хочешь чтоб это выглядело
3 Альбатрос
 
28.10.16
13:24
(1) Так реквизит есть в номенклатуре
4 Михаил Козлов
 
28.10.16
13:26
Колонка нужна без данных (без реквизита табличной части): показывать текст ячейки в ПриПолученииДанных.
5 Pavel55555
 
28.10.16
13:27
(3) В номенклатуре есть Поле выбора ОсновнойПоставщик он как бы завязан за этим товаром.
6 Pavel55555
 
28.10.16
13:29
(4) колонка есть, реквизит убрал, ПриПолученииДанных что запрос писать?
7 Лиза777
 
28.10.16
13:30
можно и в ТоварыПриВыводеСтроки()  написать этот вывод
8 Альбатрос
 
28.10.16
13:30
(6) Номенклатура.ОсновнойПоставщик, не?
9 Pavel55555
 
28.10.16
13:31
(7) В том то и дела не могу догнать как написать этот вывод :(
10 Pavel55555
 
28.10.16
13:32
Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
?????????????????    
КонецПроцедуры
11 Pavel55555
 
28.10.16
13:32
(8) Да Номенклатура.ОсновнойПоставщик
как написать этот вывод :(
12 Михаил Козлов
 
28.10.16
13:34
(10)
ДЛЯ каждого оф ИЗ ОформленияСтрок Цикл
   оф.Ячейки.Поставщик.УстановитьТекст(оф.ДанныеСтроки.Номенклатура.ОсновнойПоставщик);
КонецЦикла;
13 bootini
 
28.10.16
13:40
Если нужно только отображать только текущего ОснПоставщика, то ПриВыводеСтроки или ТоварыПриПолученииДанных, если нужно хранить, в реквизите ТЧ, то заполняй поставщика в ТоварыПриНачалеРедактирования
14 Pavel55555
 
28.10.16
13:43
(12) БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО! ВСЁ ЧОТКО.
Возникает вопрос я только начал изучать 1С. где можно прочитать про эти команды:
оф.Ячейки. что означает
оф. что означает
А как допустим добраться до табличной части в номенклатуре, например Места хранения
оф.Ячейки.МестаХранения.УстановитьТекст(оф.ДанныеСтроки.Номенклатура.тчМестаХранения);
Тип значения у него: РегистрСведенийСписок.МестаХраненияНоменклатуры
Как то так?
15 Pavel55555
 
28.10.16
13:44
(13) Спасибо я это учту!
16 Михаил Козлов
 
28.10.16
13:48
(14) тчМестаХранения, скорее всего, не табличная часть, а табличное поле на форме, куда выводятся записи РС "МестаХраненияНоменклатуры" с отбором по измерению Номенклатура.
Если Вы хотите и в форме документа показывать места хранения, то сначала определитесь как несколько мест хранения отобразить в виде текста. Например, через запятую. Или выбрать место хранения по умолчанию. А потом программно сформировать это текст.
17 Pavel55555
 
28.10.16
13:56
(16) Да кстати мест хранения два Витрина и Склад
Да это табличное поле имя МестаХранения
Тип значения: РегистрСведенийСписок.МестаХраненияНоменклатуры
В нем 3 колонки
Склад, Приоритет, Место Хранения
18 Pavel55555
 
28.10.16
14:01
(16) Наверно придется выводить две колонки:
Витрина и Склад
и в них писать запрос для кадного?
19 bootini
 
28.10.16
14:03
(17) Значит или запросом или
https://helpf.pro/faq/view/678.html
20 Vladal
 
28.10.16
14:04
(14) В книге "Практическое пособие разработчика". Для обычного приложения Радченко сам писал, для управляемых форм вместе с Хрусталевой.
21 Джинн
 
28.10.16
14:05
Очередная попытка великих "бизьнесьменов" почесать левое ухо правой ногой через спину?
22 Pavel55555
 
28.10.16
14:16
(20) у нас обычные формы
23 Pavel55555
 
28.10.16
14:24
(20) Это случайно не Радченко, Хрусталева
1С:Предприятие 8.3 "Практическое пособие разработчика" - примеры и типовые приемы 2013 год.
24 Pavel55555
 
28.10.16
14:37
(16) А может остатки вывести как общие по организации и не делить их по складу и так далее...
25 Pavel55555
 
28.10.16
14:39
Нет остатки остатками и места хранения нужно делить
26 LeReve
 
28.10.16
14:42
(14) >я только начал изучать 1С.

Беги, глупец...
27 Pavel55555
 
28.10.16
15:27
(26) Спасибо за комплимент...

(19) Запрос такого плана:
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    МестаХраненияНоменклатуры.МестоХранения
        |ИЗ
        |    РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();


Что то не то...
:(
28 Михаил Козлов
 
28.10.16
15:29
(27) Так Вы получите все записи регистра.
Поищите тексты запросов в Вашей конфигурации - найдете много примеров, как их писать.
29 Pavel55555
 
28.10.16
15:42
(28) Вот в списке Номеклатуре доп поле с Местами храниния и остатком: две процедуры
1-я
Процедура ТабличноеПолеОстаткиТоваровВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    
    Если ЭлементыФормы.Список.ТекущиеДанные <> Неопределено
       И НЕ ЭлементыФормы.Список.ТекущиеДанные.ЭтоГруппа Тогда
        РаботаСДиалогами.ОбработатьВыборТаблицаОстатков(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка, ЭлементыФормы.Список.ТекущиеДанные.Ссылка);
    КонецЕсли;
    
КонецПроцедуры

2-я
Процедура ТабличноеПолеОстаткиТоваровПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    РаботаСДиалогами.ПриВыводеСтрокиБезЦены(Элемент, ОформлениеСтроки, ДанныеСтроки, Истина, ЭлементыФормы.Список.ТекущиеДанные);
    РаботаСДиалогами.ПриВыводеСуммОстатковНоменклатуры(ОформлениеСтроки, ДанныеСтроки, мСписокПрефиксовЦен, ВВалютеЦены);
    
КонецПроцедуры

Но это не запрос.... :(
30 Pavel55555
 
28.10.16
15:48
Вывод при выборе строки
31 Pavel55555
 
28.10.16
15:55
(28) Не могу найти документ в выводом мест хранений в табличных частях, кроме как вывод чека "АСПД Накладная на склад" там запрос, не совсем то...
32 bootini
 
28.10.16
15:58
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    МестаХраненияНоменклатуры.МестоХранения
        |ИЗ
        |    РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
        |ГДЕ
        |    МестаХраненияНоменклатуры.Номенклатура = &Номенклатура";
    
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

    
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
33 bootini
 
28.10.16
16:01
Отбор = Новый Структура("Номенклатура");
Отбор.Номенклатура = Номенклатура;
ВыборкаМестаХранения= РегистрыСведений.МестаХраненияНоменклатуры .Выбрать(Отбор);
34 Pavel55555
 
28.10.16
17:40
(33) Спасибо, сейчас попробую
35 Pavel55555
 
28.10.16
18:01
(32) Что не получается..
Запрос в ТЧ создавать или модуле документа?
Я создал в ТЧ, колонка пуская
36 Pavel55555
 
29.10.16
14:15
(16) Подскажите где можно найти приблизительный запрос "МестаХранения" с отбором по Складу, склад указывается в документе...
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший