Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:50

Требование накладная заполнение колонки

Автор 007_11, 10 дек 2018, 14:33

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

007_11

Здравствуйте, подскажите пожалуйста как реализовать автоматическое заполнение ячеек в Требовании-накладной:


В шапке поле "Склад", нажимаем:


и видим:


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

к2в2

007_11, В событии табличной части "При выводе строки" вставь заполнение колонки из реквизита "Склад.ПодразделениеЗатрат".

007_11

Цитата: к2в2 от 13 дек 2018, 10:55
007_11, В событии табличной части "При выводе строки" вставь заполнение колонки из реквизита "Склад.ПодразделениеЗатрат".
Здравствуйте, можно поподробнее пожалуйста.

к2в2

Цитата: 007_11 от 13 дек 2018, 11:26
Цитата: к2в2 от 13 дек 2018, 10:55
007_11, В событии табличной части "При выводе строки" вставь заполнение колонки из реквизита "Склад.ПодразделениеЗатрат".
Здравствуйте, можно поподробнее пожалуйста.

Извиняюсь за дезинформацию, при выводе строки на УФ нет. Можно сделать например так: Для таблицы на форме для события "При изменении" сделать как то так:

&НаСервере
Функция НоменклатураПриИзмененииНаСервере()
Возврат Объект.Склад.<Реквизит склада>;
КонецФункции

&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
Элемент.ТекущиеДанные.<Реквизит для автозаполнения> = НоменклатураПриИзмененииНаСервере();
КонецПроцедуры


wise

(2) ЕЩЁ в обработкуПодбора таб.части... ПриИзмененииСклада
(3) и ПРОВЕРКУ на заполненность склада в шапке.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

к2в2

Цитата: wise от 13 дек 2018, 17:16
(2) ЕЩЁ в обработкуПодбора таб.части... ПриИзмененииСклада
(3) и ПРОВЕРКУ на заполненность склада в шапке.

согласен, упустил момент)

007_11

Цитата: к2в2 от 13 дек 2018, 16:33
Цитата: 007_11 от 13 дек 2018, 11:26
Цитата: к2в2 от 13 дек 2018, 10:55
007_11, В событии табличной части "При выводе строки" вставь заполнение колонки из реквизита "Склад.ПодразделениеЗатрат".
Здравствуйте, можно поподробнее пожалуйста.

Извиняюсь за дезинформацию, при выводе строки на УФ нет. Можно сделать например так: Для таблицы на форме для события "При изменении" сделать как то так:

&НаСервере
Функция НоменклатураПриИзмененииНаСервере()
Возврат Объект.Склад.<Реквизит склада>;
КонецФункции

&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
Элемент.ТекущиеДанные.<Реквизит для автозаполнения> = НоменклатураПриИзмененииНаСервере();
КонецПроцедуры



Здравствуйте, попробовал, получил в ответ кучу ошибок. Скорее всего это я неправильно что-то делаю, ну совсем мало знаний в 1С. Может объясните подробно, какой код куда если не трудно. Заранее благодарен.

к2в2

Цитировать
Здравствуйте, попробовал, получил в ответ кучу ошибок. Скорее всего это я неправильно что-то делаю, ну совсем мало знаний в 1С. Может объясните подробно, какой код куда если не трудно. Заранее благодарен.

Ну, конечно, лучше базовые навыки подтянуть. Тут совсем грубый пример, но по аналогии можете сделать у себя.

007_11

Цитата: 007_11 от 14 дек 2018, 13:53
Цитата: к2в2 от 13 дек 2018, 16:33
Цитата: 007_11 от 13 дек 2018, 11:26
Цитата: к2в2 от 13 дек 2018, 10:55
007_11, В событии табличной части "При выводе строки" вставь заполнение колонки из реквизита "Склад.ПодразделениеЗатрат".
Здравствуйте, можно поподробнее пожалуйста.

Здравствуйте, сделал как на скриншоте, выскочили ошибки:
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,26)}: Ожидается идентификатор
    Возврат Объект.Склад.<<?>><Реквизит склада>; (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,27)}: Ожидается символ ';'
    Возврат Объект.Склад.<<<?>>Реквизит склада>; (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,36)}: Неопознанный оператор
    Возврат Объект.Склад.<Реквизит <<?>>склада>; (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,24)}: Ожидается идентификатор
   Элемент.ТекущиеДанные.<<?>><Реквизит для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,25)}: Неопознанный оператор
   Элемент.ТекущиеДанные.<<<?>>Реквизит для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,33)}: Ожидается символ ';'
   Элемент.ТекущиеДанные.<Реквизит<<?>> для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,52)}: Ожидается символ '='
   Элемент.ТекущиеДанные.<Реквизит для автозаполнения<<?>>> = МатериалыПриИзмененииНаСервере(); (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,26)}: Ожидается идентификатор
    Возврат Объект.Склад.<<?>><Реквизит склада>; (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,27)}: Ожидается символ ';'
    Возврат Объект.Склад.<<<?>>Реквизит склада>; (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,36)}: Неопознанный оператор
    Возврат Объект.Склад.<Реквизит <<?>>склада>; (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,24)}: Ожидается идентификатор
   Элемент.ТекущиеДанные.<<?>><Реквизит для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,25)}: Неопознанный оператор
   Элемент.ТекущиеДанные.<<<?>>Реквизит для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,33)}: Ожидается символ ';'
   Элемент.ТекущиеДанные.<Реквизит<<?>> для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,52)}: Ожидается символ '='
   Элемент.ТекущиеДанные.<Реквизит для автозаполнения<<?>>> = МатериалыПриИзмененииНаСервере(); (Проверка: Тонкий клиент)


Извиняюсь за дезинформацию, при выводе строки на УФ нет. Можно сделать например так: Для таблицы на форме для события "При изменении" сделать как то так:

&НаСервере
Функция НоменклатураПриИзмененииНаСервере()
Возврат Объект.Склад.<Реквизит склада>;
КонецФункции

&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
Элемент.ТекущиеДанные.<Реквизит для автозаполнения> = НоменклатураПриИзмененииНаСервере();
КонецПроцедуры




Добавлено: 21 дек 2018, 16:21


Цитата: к2в2 от 14 дек 2018, 14:55
Цитировать
Здравствуйте, попробовал, получил в ответ кучу ошибок. Скорее всего это я неправильно что-то делаю, ну совсем мало знаний в 1С. Может объясните подробно, какой код куда если не трудно. Заранее благодарен.

Ну, конечно, лучше базовые навыки подтянуть. Тут совсем грубый пример, но по аналогии можете сделать у себя.

Здравствуйте, сделал так как на скриншоте и получил ошибки:
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,26)}: Ожидается идентификатор
    Возврат Объект.Склад.<<?>><Реквизит склада>; (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,27)}: Ожидается символ ';'
    Возврат Объект.Склад.<<<?>>Реквизит склада>; (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,36)}: Неопознанный оператор
    Возврат Объект.Склад.<Реквизит <<?>>склада>; (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,24)}: Ожидается идентификатор
   Элемент.ТекущиеДанные.<<?>><Реквизит для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,25)}: Неопознанный оператор
   Элемент.ТекущиеДанные.<<<?>>Реквизит для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,33)}: Ожидается символ ';'
   Элемент.ТекущиеДанные.<Реквизит<<?>> для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,52)}: Ожидается символ '='
   Элемент.ТекущиеДанные.<Реквизит для автозаполнения<<?>>> = МатериалыПриИзмененииНаСервере(); (Проверка: Сервер)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,26)}: Ожидается идентификатор
    Возврат Объект.Склад.<<?>><Реквизит склада>; (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,27)}: Ожидается символ ';'
    Возврат Объект.Склад.<<<?>>Реквизит склада>; (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(313,36)}: Неопознанный оператор
    Возврат Объект.Склад.<Реквизит <<?>>склада>; (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,24)}: Ожидается идентификатор
   Элемент.ТекущиеДанные.<<?>><Реквизит для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,25)}: Неопознанный оператор
   Элемент.ТекущиеДанные.<<<?>>Реквизит для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,33)}: Ожидается символ ';'
   Элемент.ТекущиеДанные.<Реквизит<<?>> для автозаполнения> = МатериалыПриИзмененииНаСервере(); (Проверка: Тонкий клиент)
{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(319,52)}: Ожидается символ '='
   Элемент.ТекущиеДанные.<Реквизит для автозаполнения<<?>>> = МатериалыПриИзмененииНаСервере(); (Проверка: Тонкий клиент)

007_11

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

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

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

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


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

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск