Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Поле "Вес" из "Формы элемента"          
candrey Подменю пользователя
сообщение 07.09.15, 11:16
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Добрый день.

1с 8.2 файловая. обычный интерфейс. УТ.
Вопрос. 1)Как добавить ссылку на "Форму списка" из "Формы элемента" с "Основной панели- поле "Вес"

Принскрин прилогаю.

Спасибо за помощь.

DrLivsi Подменю пользователя
сообщение 07.09.15, 11:38
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 148
Из: Киев
Спасибо сказали: 19 раз
Рейтинг: 0

В событии"ПриПолученииДанных" табличного поля СправочникСписок, получаем вес номенклатуры и вставляем в нужную колонку.

Спасибо сказали: candrey,

candrey Подменю пользователя
сообщение 07.09.15, 11:55
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Цитата(DrLivsi @ 07.09.15, 12:38) *
В событии"ПриПолученииДанных" табличного поля СправочникСписок, получаем вес номенклатуры и вставляем в нужную колонку.


В форме списка Есть ВнешнееСобытие

его код
Процедура ВнешнееСобытие(Источник, Событие, Данные)

    Если Не ВводДоступен() Тогда
        Возврат;
    КонецЕсли;

    ПолучитьСерверТО().ОбработатьВнешнееСобытие(Источник, Событие, Данные, ЭтаФорма);

КонецПроцедуры // ВнешнееСобытие()


Вы про этот участок говорите?

DrLivsi Подменю пользователя
сообщение 07.09.15, 12:13
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 148
Из: Киев
Спасибо сказали: 19 раз
Рейтинг: 0

У табличного поля есть свойство ПриПолученииДанных, вставляем туда код

Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)

Для Каждого СтрокаОформления Из ОформленияСтрок Цикл
    ТекДанные=СтрокаОформления.ДанныеСтроки;
    ТекСсылка=ТекДанные.Ссылка;
    Если НЕ ТекДанные.ЭтоГруппа Тогда

             СтрокаОформления.Ячейки.Вес.УстановитьТекст(ТекСсылка.ЕдиницыИзмерения[0].Вес);

    КонецЕсли;

КонецЦикла;
КонецПроцедуры;


Спасибо сказали: candrey,

candrey Подменю пользователя
сообщение 07.09.15, 12:34
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    // Вставить содержимое обработчика.
    
    

Для Каждого СтрокаОформления Из ОформленияСтрок Цикл
    ТекДанные=СтрокаОформления.ДанныеСтроки;
    ТекСсылка=ТекДанные.Ссылка;
    Если НЕ ТекДанные.ЭтоГруппа Тогда

            СтрокаОформления.Ячейки.Вес.УстановитьТекст(ТекСсылка.ЕдиницыИзмерения[0].Вес);

    КонецЕсли;

КонецЦикла;


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


ругается на ошибку
{Справочник.Номенклатура.Форма.ФормаСписка.Форма(914)}: Поле объекта не обнаружено (ЕдиницыИзмерения)
            СтрокаОформления.Ячейки.Вес.УстановитьТекст(ТекСсылка.ЕдиницыИзмерения[0].Вес);


это надо реквизит создать(ЕдиницыИзмерения) и прикрутить к колонке?

DrLivsi Подменю пользователя
сообщение 07.09.15, 13:01
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 148
Из: Киев
Спасибо сказали: 19 раз
Рейтинг: 0

Цитата(candrey @ 07.09.15, 13:34) *
это надо реквизит создать(ЕдиницыИзмерения) и прикрутить к колонке?

Нет. Посмотрите как у вас называется табличная часть (та где указан вес) и замените имя.

Если ЕдиницыИзмерения у вас отдельный справочник, тогда выбираете из него запросом по владельцу

Спасибо сказали: candrey,

candrey Подменю пользователя
сообщение 07.09.15, 13:16
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Т.е в справочнике "Единицы измерения"? Таблица называется "Единицы измерения"

Или Вы говорите про спрвочник "Номенклатура"? названия таблицы?

Да справочники отдельные. т.е Номенклатура и Единицы измерения

DrLivsi Подменю пользователя
сообщение 07.09.15, 13:31
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 148
Из: Киев
Спасибо сказали: 19 раз
Рейтинг: 0

Вставте вместо строки "СтрокаОформления.Ячейки.Вес.УстановитьТекст(ТекСсылка.ЕдиницыИзмерения[0].Вес);"

Выборка =Справочники.ЕдиницыИзмерения.Выбрать(,ТекСсылка);
        
Выборка.Следующий();

СтрокаОформления.Ячейки.Вес.УстановитьТекст(Выборка.Вес);

Спасибо сказали: candrey,

candrey Подменю пользователя
сообщение 07.09.15, 13:37
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

    Для Каждого СтрокаОформления Из ОформленияСтрок Цикл
    ТекДанные=СтрокаОформления.ДанныеСтроки;
    ТекСсылка=ТекДанные.Ссылка;
    Если НЕ ТекДанные.ЭтоГруппа Тогда
        Запрос3 = Новый Запрос;
        Запрос3.Текст =

        
   "ВЫБРАТЬ
|    ЕдиницыИзмерения.Ссылка,
|    ЕдиницыИзмерения.ВерсияДанных,
|    ЕдиницыИзмерения.ПометкаУдаления,
|    ЕдиницыИзмерения.Предопределенный,
|    ЕдиницыИзмерения.Владелец,
|    ЕдиницыИзмерения.Родитель,
|    ЕдиницыИзмерения.ЭтоГруппа,
|    ЕдиницыИзмерения.Код,
|    ЕдиницыИзмерения.Наименование,
|    ЕдиницыИзмерения.ЕдиницаПоКлассификатору,
|    ЕдиницыИзмерения.Вес,
|    ЕдиницыИзмерения.Объем,
|    ЕдиницыИзмерения.Коэффициент
|ИЗ
|    Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения";

Рез3 = Запрос3.Выполнить();
Таб3 = Рез3.Выгрузить();
  КонецЕсли;

            СтрокаОформления.Ячейки.Вес.УстановитьТекст(ТекСсылка.ЕдиницыИзмерения[0].Вес);

    
КонецЦикла;


ошибка

{Справочник.Номенклатура.Форма.ФормаВыбора.Форма(970)}: Поле объекта не обнаружено (ЕдиницыИзмерения)
            СтрокаОформления.Ячейки.Вес.УстановитьТекст(ТекСсылка.ЕдиницыИзмерения[0].Вес);

sava1 Подменю пользователя
сообщение 07.09.15, 13:41
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Вес - реквизит справочника ?

Спасибо сказали: candrey,

candrey Подменю пользователя
сообщение 07.09.15, 15:07
Сообщение #11

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Теперь работает
с таким кодом.

Для Каждого СтрокаОформления Из ОформленияСтрок Цикл
    ТекДанные=СтрокаОформления.ДанныеСтроки;
    ТекСсылка=ТекДанные.Ссылка;
    Если НЕ ТекДанные.ЭтоГруппа Тогда
            
Выборка =Справочники.ЕдиницыИзмерения.Выбрать(,ТекСсылка);
        
Выборка.Следующий();

СтрокаОформления.Ячейки.Вес.УстановитьТекст(Выборка.Вес);
    
КонецЕсли;
КонецЦикла;


Спасибо Вам DrLivsi за помощь в освоении языка 1С icon_beer17.gif

Извините за наглось.
А как можно установить для поля "Вес" признак "Контроль незаполненого поля" т.е при создании новой номенклатуры это поле было обязательное для заполнения.

Стоит "АвтоотметкаНезаполненого" и "автовыборНезаполненого"
Спасибо.

Реквизит "Вес" в справочнике "Единицы измерения"
Стоит проверка заполнения- Выдавать ошибку!!!

Но неработает как нужно.

Vofka Подменю пользователя
сообщение 07.09.15, 15:47
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(candrey @ 07.09.15, 16:07) *
Извините за наглось.

Правила, пункт 6. Тема закрывается.

Спасибо сказали: candrey,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Тема закрыта Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 1:28
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!