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

Хранилище

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

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



> Количество товара в упаковке (подчиненный справочник)          
NukeHate Подменю пользователя
сообщение 23.05.12, 10:18
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте. Установлена1С 7.7 "Торговля+Склад для Украины" (7.70.020)
Я только учусь программировать и не могу решить одну задачу уже второй день. Дело в том, что мне нужно, чтобы на печать в расходную накладную помимо штук выводило также количество в упаковке. Товар штучный, удиница по умолчанию - шт. Однако в каждом товаре в единицах (Справочники-товар-единица) помимо значения "шт", указано также значение "уп". Берется оно из "Справочники - Единицы" который подчинен номенклатуре (Справочник-Номенклатура), и имеет поля "Вес, коэффициент, единица, штрихкод" . Если я правильно понимаю, мне нужно выбрать из этого справочника значение "Коэффициент" по значению "Единица=уп". Однако совсем не пойму как это сделать. Пробовал много разных манипуляций с процедурами "НайтиПоНаимеованию" и "НайтиПоРеквизиту".
Для выборки из подчиненного справочника использую код:
// ПечатьУп1 - Вывод на печать
ПечатьУп = СоздатьОбъект ("Справочник.Единицы");
ПечатьУп.ИспользоватьВладельца(товар);
ПечатьУп.ВыбратьЭлементы();
Пока ПечатьУп.ПолучитьЭлемент() = 1 Цикл
    ПечатьУп1 = ПечатьУп.ТекущийЭлемент();
КонецЦикла;


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

Ardi Подменю пользователя
сообщение 23.05.12, 10:48
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

В справочник номенклатура добавить поле
Название: КвоВУпаковке
Тип: Число.

Без всяких подчинённых.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Домовик Подменю пользователя
сообщение 23.05.12, 11:08
Сообщение #3

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

ну ну ну. зачем изменять конфугурацию под одну печ форму? в лабе это может не прокатить.

NukeHate Подменю пользователя
сообщение 23.05.12, 11:35
Сообщение #4

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Мне кажется, есть какие-то другие варианты, без добавления в номенлатуру. Я надеюсь)

Домовик Подменю пользователя
сообщение 23.05.12, 11:43
Сообщение #5

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

что значит у вас количество в упаковке? количество упаковок?

в коде Вы не показали, как определили переменную Товар. в отладчике в цикл заходите? можете в цикле поставить сообщить (печатьУп1); и посмотреть.

Сообщение отредактировал Домовик - 23.05.12, 11:45

NukeHate Подменю пользователя
сообщение 23.05.12, 11:53
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Товар я не определял, он в расходной накладной добавляется подбором. Количество в упаковке - это количество штук в ящике(упаковке). Т.е. подбором мы указываем что выбиваем допустим 5 штук, а в другом поле выводится на печать что в ящике например 24. При выводе (ПечатьУп1) выходит "шт." для каждого товара, т.е. название единицы по умолчанию.

Домовик Подменю пользователя
сообщение 23.05.12, 12:02
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

торговли и склад конфигурации у меня под рукой сейчас нет.

Там основная идея в том, что справочников по Единице измерения - две штуки. Дословно названия не помню. Один вы нашли, он подчинен справочнику Номенклатура, в нем реквизит Единица он имеет тип второго искомого справочника. От не помню названия.


Вы создаете объект типа искомый справочник. НайтиПоНАименованию() - находите элемент Упаковка (или как-то так). присваиваете переменной .... Упаковка.

При обходе по циклу, кот у вас в коде сравниваете реквизит ПечатьУп.Единица с переменной Упаковка. Если равно, значит нашли!! Берете В ПечатьУП.Коээфициент - значение коэффициента.

Сообщение отредактировал Домовик - 23.05.12, 12:04

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

NukeHate Подменю пользователя
сообщение 23.05.12, 12:30
Сообщение #8

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Домовик, спасибо большое, помогло. Там и правда был справочник КлассификаторЕдИзм, я на него раньше обращал внимание, но не додумался использовать, и думал что при поиске по наименованию найдется значение полного наименования.

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

Домовик Подменю пользователя
сообщение 23.05.12, 14:41
Сообщение #9

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

конечно интересно. мы ж теперь будем видеть ЧТО Вы поняли.

дважды используете метод
//ВыборУп.НайтиПоНаименованию("уп.");



этот кусок отдельно, перед циклом обхода по табл части. док-та

ПечатьУп = СоздатьОбъект ("Справочник.Единицы"); 
ВыборУп = СоздатьОбъект ("Справочник.КлассификаторЕдИзм");
Если ВыборУп.НайтиПоНаименованию("уп.") = 1 тогда
    Упаковка = ВыборУп.ТекущийЭлемент();
КонецЕсли;





Сообщение отредактировал Домовик - 23.05.12, 14:44

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

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


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

 

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