Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=41403)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ ошибка при добавление колонки Штрихкода в прайс листе УТ 11.3
Автор: Alien900 29.10.17, 11:28
Доброго времени суток. подскажите как правильно прописать в дерево значений колонку с регистром накопления?
саму колонку создал, но она не заполняется штрихкода из регистра. пробовал подать через массив, выходит ошибка ошибка{ОбщийМодуль.УстановкаЦенСервер.Модуль(27)}: Ошибка при вызове конструктора (ОписаниеТипов)
ДеревоЗначений.Колонки.Добавить("Штрихкод", Новый ОписаниеТипов("Штрихкод")); // Штрихкод для Прайслиста доработка
по причине:
Недопустимое значение параметра (параметр номер '1') (Штрихкод)
сам код который, как бы должен был пройтись по регистру и подставить штрих коды.
Код дерева значенийПроцедура ПостроитьДеревоЦен(Форма, ИмяТаблицы = "ДеревоЦен") Экспорт
ДобавляемыеКолонкиТаблицыЦен = Новый Массив();
УдаляемыеКолонкиТаблицыЦен = Новый Массив();
УдаляемыеЭлементы = Новый Массив();
УсловныеОформления = Новый Массив();
Штрихкод = Новый Массив(); // Штрихкод для Прайслиста доработка
Если ТипЗнч(Форма.ДеревоЦен) = Тип("ДанныеФормыКоллекция") Тогда
ДеревоЗначений = Новый ТаблицаЗначений;
Иначе
ДеревоЗначений = Новый ДеревоЗначений;
КонецЕсли;
ДеревоЗначений.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ДеревоЗначений.Колонки.Добавить("Характеристика", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
ДеревоЗначений.Колонки.Добавить("ИндексКартинки", Новый ОписаниеТипов("Число"));
ДеревоЗначений.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.УпаковкиЕдиницыИзмерения"));
ДеревоЗначений.Колонки.Добавить("Артикул", Новый ОписаниеТипов("Строка"));
ДеревоЗначений.Колонки.Добавить("Штрихкод", Новый ОписаниеТипов("Штрихкод")); // Штрихкод для Прайслиста доработка
ДеревоЗначений.Колонки.Добавить("ХарактеристикиИспользуются", Новый ОписаниеТипов("Булево"));
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Если Штрихкод Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ШтрихкодыНоменклатуры.Штрихкод,
| ШтрихкодыНоменклатуры.Номенклатура
|ИЗ
| РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(Штрихкод);
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецЕсли;
//////////////////////////
Автор: salton 30.10.17, 9:00
ДеревоЗначений.Колонки.Добавить("Штрихкод", Новый ОписаниеТипов("Строка"));
сделайте так
Автор: Alien900 31.10.17, 13:55
salton @ Вчера, 13:00
,
Спасибо. строку подставлял. колонка со строкой появляется, но не заполняет штрих код. где-то в запросе ошибаюсь.
Автор: salton 31.10.17, 16:10
штрихкоды хранятся вроде как в регистре сведений. непериодическом.
получить можно разными путями. к сожалению сейчас под рукой нет восьмерки потому попробуйте так:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
|Штрихкоды.Штрихкод КАК Штрихкод
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
| Штрихкоды.Владелец = &Владелец
|
|СГРУППИРОВАТЬ ПО
| Штрихкоды.Штрихкод
|
|УПОРЯДОЧИТЬ ПО
| Штрихкод УБЫВ
"
Запрос.УстановитьПараметр("Владелец",Товар);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ШК=Выборка.Штрихкод;
КонецЕсли;
в параметры запроса передаем номенклатуру как владельца по которой хотим получить штрихкод
Автор: logist 31.10.17, 16:46
salton, Зачем такие сложности если надо выбрать один штрихкод? СГРУППИРОВАТЬ (при ПЕРВЫЕ 1 тем более) и УПОРЯДОЧИТЬ в этом случае не имеет смысла.
Автор: salton 01.11.17, 8:38
Цитата(logist @ 31.10.17, 16:46)
Зачем такие сложности если надо выбрать один штрихкод?
Вы правы!
К сожалению у меня нет доступа к восьмерке... Но помнится мне что должен быть еще проще метод....
Что типа: РегистрыСведений.НужныйРегистр.СрезПоследних(НачПериода,Стрктура).Получить() но для непериодческих ... Не помните?
Автор: logist 01.11.17, 11:47
Цитата(salton @ 01.11.17, 9:38)
К сожалению у меня нет доступа к восьмерке...
Ну, вы либо знаете, либо нет
Цитата(salton @ 01.11.17, 9:38)
Не помните?
А зачем, запрос тоже нормальная реализация.
Автор: Alien900 04.11.17, 0:20
logist @ 01.11.17, 15:47
,
Пока до выходных отложил этуформу, пошел простым путем, добавил колонку штрихкод в отчет. На выходных надеюсь поправлю запрос)
а так может кому пригодится отчет с штрихкодами для УТ 11.(2-3) [тут была ссылка на запрещенный в Украине ресурс]
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua