PDA

Просмотр полной версии : Требование накладная заполнение колонки. 1С 8.3



programmer007
10.12.2018, 14:47
Здравствуйте, подскажите пожалуйста как реализовать автоматическое заполнение ячеек в Требовании-накладной:
http://111101111.ru/1c/Snap_2018.12.10_08h30m12s_003_1.jpg

В шапке поле "Склад", нажимаем:
http://111101111.ru/1c/Snap_2018.12.10_08h28m32s_001_1.jpg

и видим:
http://111101111.ru/1c/Snap_2018.12.10_08h32m11s_004_1.jpg

Как сделать чтобы "Подразделение затрат" = СТРОЙКА с последнего скрина влияло на автоматическое заполнение колонки "Подразделение затрат" в табличной части?

vlad420420
10.12.2018, 15:26
В поле склад на событие при изменении вешаешь обработку значений для тз материалы и перебором заполняешь значение в колонке

programmer007
10.12.2018, 16:02
vlad420420 не могли бы поподробнее, нужно чтобы если в шапке Склад=СТРОЙКА тогда в табличной Подразделение затрат=СТРОЙКА
Заранее благодарю.

vlad420420
10.12.2018, 16:09
Для каждого стр из ТвояТЗМатериалы цикл
стр.РеквизитПодразделения� �атрат = РеквизитСкладнаФорме.подр� �зделениеЗатрат;
КонецЦикла;
Или повесь на кнопку автозаполнение текущей колонки, если ты ее создавал для этого.

vlad420420
10.12.2018, 16:14
Для каждого стр из ТвояТЗ цикл
стр.РеквизитПодразделения� �атрат = РеквизитСклад.подразделен� �еЗатрат;
КонецЦикла;

vlad420420
10.12.2018, 16:15
Не понятно почему обрезает. Пробую еще раз

Для каждого стр из ТвояТЗ цикл
стр.РеквизитПодразделения = РеквизитСклад.РеквизитЗат� �ат;
КонецЦикла;

vlad420420
10.12.2018, 16:17
стр.РеквизитПодразделения = РеквизитСклад.РеквизитЗат� �ат
КонецЦикла;

vlad420420
10.12.2018, 16:19
2015
Или на кнопку автозаполнение текущей колонки

programmer007
10.12.2018, 16:22
2015
Или на кнопку автозаполнение текущей колонки
Кнопку это я добавил, хотел на неё обработку прикрутить, да знаний языка не хватило...

programmer007
10.12.2018, 16:37
стр.РеквизитПодразделения = РеквизитСклад.РеквизитЗат� �ат
КонецЦикла;

{Документ.ТребованиеНаклад ная.Форма.ФормаДокумента.Ф� �рма(453,2)}: Переменная не определена (стр)
<<?>>стр.РеквизитПодразделения = РеквизитСклад.РеквизитЗат (Проверка: Тонкий клиент)
{Документ.ТребованиеНаклад ная.Форма.ФормаДокумента.Ф� �рма(453,30)}: Переменная не определена (РеквизитСклад)
стр.РеквизитПодразделения = <<?>>РеквизитСклад.РеквизитЗат (Проверка: Тонкий клиент)

vlad420420
10.12.2018, 17:44
Реквизиты объекта назови как они у тебя звучат. Я же свои Реквизиты взял. Мне не известно точно какие реквизиты у тебя там

programmer007
25.12.2018, 10:07
Сделал так:
&НаСервере
Функция МатериалыПриИзмененииНаСе рвере()
Возврат Объект.Склад.Подразделение Затрат;
КонецФункции

&НаКлиенте
Процедура МатериалыПриИзменении(Эле� �ент)

Элемент.ТекущиеДанные.Подр азделениеЗатрат = МатериалыПриИзмененииНаСе рвере();
//УправлениеФормой(ЭтаФорма) ;

КонецПроцедуры

Спасибо к2в2, подсказал в каком направлении двигаться.

Не могли бы Вы ещё немного подсказать, попытался сделать что-то похожее со следующей колонкой "Объект", мой код:
&НаСервере
Функция МатериалыПриИзмененииНаСе рвере()
//Возврат Объект.Склад.Подразделение Затрат;
Возврат Объект.Объект.Наименование ;
КонецФункции


&НаКлиенте
Процедура МатериалыПриИзменении(Эле� �ент)

//Элемент.ТекущиеДанные.Подр азделениеЗатрат = МатериалыПриИзмененииНаСе рвере();
Элемент.ТекущиеДанные.Объе кт = МатериалыПриИзмененииНаСе рвере();
//УправлениеФормой(ЭтаФорма) ;

КонецПроцедуры

конфигурация сохранилась без ошибок. Открыл 1С, при создании новой строки вылетает предупреждение: "Поле объекта не обнаружено (Объект)", думаю косяк здесь: Возврат Объект.Объект.Наименование ;
Не подскажете?