Гость
Форумы / [игнор отключен] [закрыт для гостей] / Помогите разобраться новичку / 11 сообщений из 11, страница 1 из 1
13.09.2014, 23:37
    #38746146
IgorDanishevich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
Объясню как смогу, что есть и что нужно.
1с 8.2 УТ редакция 3.1, управляем. форма. Все перечисленное там по умолчанию уже создано . Есть Документ Заказ Клиента, Табличная Часть Товары, в ней есть реквизиты Номенклатура, Количество и т.д, есть элементы формы ТоварыНоменклатура, ТоварыКоличество и т.д. В поле ТЧ есть колонки Номенклатура, Количество и т.д. Но они просто колонки, НЕ колонки реквизитов ТЧ .
Задача: 1. Добавить колонку Вес, чтоб в каждой строке отображался вес товара, если к примеру Ступица переднего колеса 1 шт весит 2 кг, а в документе их 5 шт, в колонке Вес должно быть 10 кг, и так далее по списку.
2. Внизу формы в отдельном поле вывести общий вес по документу ( с этим проблем думаю не будет)
Надо дописать код в процедуры ТоварыКоличествоПриИзменении, ТоварыНоменклатураПриИзменении, думаю что смогу их завязать между собой
Вопрос : 1. Создавать реквизит Табличной части "Вес" и создать колонку реквизита "Вес", или достаточно просто создать колонку реквизита ?
2. Данные по весу брать из Справочники Номенклатура Вес создавать запрос , или из регистра сведений ? ( Я не создавал запрос потому что если создать реквизит ТЧ Вес и перетянуть его на форму, создастся элемент формы ТоварыВес, и если в палитре свойств указать путь к данным Объект.Товары.Номенклатура.Вес ( вместо автоматически подставляемых Объект.Товары.Вес), то при открытии формы в колонке вес будет отображаться вес единицы товара(он заполняется где то в общих модулях в сложных процедурах) Вот я и подумал что можно без запроса это использовать. Но наверное нельзя.). Хотя для опытного программиста здесь делов на 15 минут и пара строчек.
Прошу не пинать сильно. Объяснил как смог, матчасть учу, но запутался просто. Ну а может я туповат))
...
Рейтинг: 0 / 0
16.09.2014, 12:59
    #38747783
Zerro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
Делай как цена. количество * цена = сумма. Что тут мудрить
...
Рейтинг: 0 / 0
19.09.2014, 15:23
    #38751667
IgorDanishevich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
В общем наваял я вот что. Оно то работает, но я понимаю что это неправильно. Нельзя с клиента на клиент обращаться. Надо бы общую процедуру отправить на сервер, и вызывать ее с клиента. Но как только начинаю объединять, меняю Элементы на Объект, начинаются ошибки, Поле объекта на найдено (ТекущиеДанные), оно понятно что сервер не может знать Текущие Данные, не знаю как сделать, да по всякому уже пробовал. Может кто подскажет как все таки сделать по уму ?

&НаКлиенте
Процедура ТоварыКоличествоУпаковокПриИзменении(Элемент)
РассчитатьВес();
///////////////////// тут дальше много кода не относящегося к весу//////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
КонецПроцедуры

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
РассчитатьВес();
///////////////////// тут дальше много кода не относящегося к весу//////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
КонецПроцедуры

&НаКлиенте ////// если поменять на Сервер, то засада!!!
Процедура РассчитатьВес()
ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
Номенклатура = ТекущаяСтрока.Номенклатура;
ТекущаяСтрока.Вес = ПолучитьВес(Номенклатура) * ТекущаяСтрока.Количество;
Объект.ОбщийВесЗаказа = Объект.Товары.Итог("Вес"); /// с этим проблем нет, это общий вес в отдельное поле выводится
КонецПроцедуры

&НаСервере
Функция ПолучитьВес(Номенклатура)
Вес = Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура).Вес;
Возврат Вес
КонецФункции
...
Рейтинг: 0 / 0
19.09.2014, 16:05
    #38751721
Титов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
IgorDanishevich,

на клиенте получай текущую строку (идетификатор строки), а передавай в свою процедуру, и получай там по индетификатору прямо из ТЧ а не из элемента формы
...
Рейтинг: 0 / 0
19.09.2014, 16:09
    #38751733
Титов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
IgorDanishevich,

найти по наименованию это полная лажа не универсально, у тебя что "Номенклатура" это не ссылка?
вычесленя делай на сервере
короче должно быть примерно так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
ИД = Элементы.Товары.ТекущаяСтрока; 
РассчитатьВес(ИД);
///////////////////// тут дальше много кода не относящегося к весу//////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
КонецПроцедуры

&НаСервере ////// если поменять на Сервер, то засада!!!
 Процедура РассчитатьВес(ИД)
 ТекущаяСтрока = Объект.Товары.ПолучитьПоИндетификатору(ИД);
 Номенклатура = ТекущаяСтрока.Номенклатура;
 ТекущаяСтрока.Вес = Номенклатура.Вес * ТекущаяСтрока.Количество;
 Объект.ОбщийВесЗаказа = Объект.Товары.Итог("Вес"); /// с этим проблем нет, это общий вес в отдельное поле выводится
КонецПроцедуры 
...
Рейтинг: 0 / 0
19.09.2014, 16:49
    #38751794
IgorDanishevich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
Титов,
примерно так..получается ошибка : Метод объекта не обнаружен (ПолучитьПоИндетификатору)
я новичек и мне еще не все понятно
мне надо как то получить единицу веса, в этой ТЧ ее нету по умолчанию, вес есть в Позиции Номенклатуры в справочники
...
Рейтинг: 0 / 0
19.09.2014, 17:14
    #38751849
IgorDanishevich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
Титов, прошу прощения, все работает.
Надо не ПолучитьПоИдентификатору, а НайтиПоИдентификатору.
Спасибо!!
...
Рейтинг: 0 / 0
19.09.2014, 17:28
    #38751866
Титов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
IgorDanishevich,

ну да я эту функцию и имел ввиду, просто нет под ругой платформ!)) получилос?
...
Рейтинг: 0 / 0
19.09.2014, 20:41
    #38752049
IgorDanishevich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
ТитовIgorDanishevich,

получилос?

Да, все работает на ура !!! еще раз спасибо !
...
Рейтинг: 0 / 0
22.09.2014, 12:29
    #38753370
Хитроглазый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
IgorDanishevich,

немного наброшу: что случится с вашим ТЗ, если у товара окажется несколько единиц измерения (штука, коробка, поддон и т.д.)?
...
Рейтинг: 0 / 0
22.09.2014, 14:03
    #38753495
IgorDanishevich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться новичку
Хитроглазый,

Да ничего не случится. В позиции номенклатуры вес указан за единицу товара. при формировании документа ЗаказКлиента все суммируется нормально, там не указывается количество поддонов и т.д. насколько я понял заказчику нужен общий вес и вообще вес по документу для формирования бригады грузчиков.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Помогите разобраться новичку / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]