Имя: Пароль:
1C
 
Добавление колонки булево в ТЧ документа
,
0 Pilot_Danik
 
28.03.23
15:55
Добрый день, подскажите как действовать. В конфигураторе добавил колонку, а как ее заполнить данными не могу сообразить. Смысл такой что код  ТНВЭД номенклатуры сравнивается в кодом из регистра и по результату в колонке либо есть флаг либо его нету. В консоле запросов получилось это сделать, а вот как в ТЧ документа не могу понять.
1 mikecool
 
28.03.23
15:58
добавил колонку реквизита или просто колонку таб поля?
2 DGorgoN
 
28.03.23
16:06
Ну представь что у тебя там поле не булево и номенклатура. Так же и действуешь.
3 Pilot_Danik
 
28.03.23
16:14
(1) колонку реквизита добавил
4 Pilot_Danik
 
28.03.23
16:17
https://radikal.host/i/Xl9mwC
вот так это выглядит в концигураторе
5 Donkey_hot
 
28.03.23
16:17
(0) Вам просто на форме отобразить или хранить? Если хранить, то как хранимый объект будет узнавать про изменения в регистре? Если просто на форме отобразить, то ТЧ тут не при делах, работаем с реквизитами формы.
6 Pilot_Danik
 
28.03.23
16:18
Хранить не нужно, достаточно просто отображения в документе
7 Сергиус
 
28.03.23
16:21
(0)Обращаетесь к ТЧ через основной реквизит формы(Объект) и заполняете чем нужно.
8 Pilot_Danik
 
28.03.23
18:54
С консоли вот так работает, но как это использовать на форме чтобы колонка заполнена была не могу понять

ВЫБРАТЬ
	ПоступлениеТоваровУслуг.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровУслуг.Номенклатура.КодТНВЭД КАК НоменклатураКодТНВЭД,
	СведенияОНоменклатуреГСВССрезПоследних.ПризнакПеречняИзьятий КАК ПризнакПеречняИзьятий
ИЗ
	Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОНоменклатуреГСВС.СрезПоследних КАК СведенияОНоменклатуреГСВССрезПоследних
		ПО (СведенияОНоменклатуреГСВССрезПоследних.НоменклатураГСВС.КодГСВС = ПоступлениеТоваровУслуг.Номенклатура.КодТНВЭД)
ГДЕ
	ПоступлениеТоваровУслуг.Ссылка = &Документ
9 Pilot_Danik
 
28.03.23
16:32
Так вот где и ка на форме сделать такое обращение (7)
10 Donkey_hot
 
28.03.23
17:13
(9) Напрашивается при создании (копировании) документа и при каких-либо манипуляциях с табличной частью. Соответстенно варианта два. Предпочтительный - найти типовой обработчик, который делает что-то похожее и уже вызывается из всех интересующих нас событий. А если такого вдруг нет - то описать самому и вызывать откуда нужно.
11 Pilot_Danik
 
28.03.23
17:59
Так вот он есть такой. Я так понимаю подойдёт

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
    
    ДанныеСтрокиТаблицы = Новый Структура("Номенклатура, ЕдиницаИзмерения, Коэффициент, Количество, Цена, Сумма, СтавкаНДС, СуммаНДС, Всего");
    ЗаполнитьЗначенияСвойств(ДанныеСтрокиТаблицы, Элементы.Товары.ТекущиеДанные);
    
    ПараметрыОбъекта = Новый Структура("Организация, СтруктурноеПодразделение, Дата, Ссылка, ТипЦен,
        |УчитыватьНДС, СуммаВключаетНДС, УчитыватьКПН, ВидОперации, Склад, ДоговорКонтрагента,
        |ВалютаДокумента, КурсВзаиморасчетов, КратностьВзаиморасчетов");
    ЗаполнитьЗначенияСвойств(ПараметрыОбъекта, Объект);
    
    ПараметрыЗаполненияСчетовУчета = ПоступлениеТоваровУслугФормыКлиентСервер.НачатьЗаполнениеСчетовУчета(
        "Товары.Номенклатура",
        Объект,
        Элементы.Товары.ТекущиеДанные,
        ПараметрыОбъекта,
        ДанныеСтрокиТаблицы);
    
    ТоварыНоменклатураПриИзмененииНаСервере(ДанныеСтрокиТаблицы, ПараметрыОбъекта, ПараметрыЗаполненияСчетовУчета.КЗаполнению);
    
    ЗаполнитьЗначенияСвойств(Элементы.Товары.ТекущиеДанные, ДанныеСтрокиТаблицы);
    
КонецПроцедуры
12 Pilot_Danik
 
28.03.23
18:00
Надо ДанныеСтрокиТаблицы = Новый Структура("Номенклатура, ЕдиницаИзмерения, Коэффициент, Количество, Цена, Сумма, СтавкаНДС, СуммаНДС, Всего"); сюда добавить ПИ
ДанныеСтрокиТаблицы = Новый Структура("Номенклатура, Пи, ЕдиницаИзмерения, Коэффициент, Количество, Цена, Сумма, СтавкаНДС, СуммаНДС, Всего");
Только как указать данные откуда будет это ПИ браться?
13 Сергиус
 
29.03.23
00:47
(12)Попробуйте после этого добавить строчку ДанныеСтрокиТаблицы.Вставить("ИмяРеквизита", Значение)