![]() |
![]() |
![]() |
|
Сортировка 1с 8.2 печать цеников и этикеток | ☑ | ||
---|---|---|---|---|
0
Zelenivek
17.10.11
✎
15:52
|
При печати этикеток, программа сортирует товар хаотично,не важно в каком порядке он был в документе и не важно из какого докумена посылается печать,причем когда запускается обработка показыает одну очередность, при предварительном просмотре уже третью,по какому принципу он сортирует так понять и не смог,артикул,код товара,алфавитный порядок не учитывает.Но порядок определнный есть.
С 8.2 столкнулся первый раз,может где галкочку надо поставить или еще чего кто подскажет... с 8.1 все намного проще. Barcode с диска ИТС стоит. Версия 1С:Предприятие 8.2 8.2.13.219 Розница, редакция 2.0 (2.0.2.6) |
|||
1
Zelenivek
17.10.11
✎
16:39
|
Запустил демо версию, из нее печать выходит точно также.Кто нибудь подскажите в чем дело,пробывал уже на 3 компьютерах.Девченки матерятьтся клея этикетки т.к. свыше 2000 позиций и все в разноброс.
|
|||
2
Адинэснег
17.10.11
✎
16:41
|
Конфигуратор
|
|||
3
Zelenivek
17.10.11
✎
16:47
|
Смотрел, что именно за это отвечает,конфа типовая.В самой обработке смотреть?
|
|||
4
Zelenivek
17.10.11
✎
17:16
|
Что именно за это отвечает?Помогите новичку..плиз..(
УстановитьЭлементОтбораСКД(КомпоновщикНастроек, ИмяПараметра, ЗначениеПараметра, Использование = Истина) НайденныйЭлемент = Неопределено; Поле = Новый ПолеКомпоновкиДанных(ИмяПараметра); Отбор = КомпоновщикНастроек.Настройки.Отбор; Для каждого ЭлементОтбора Из Отбор.Элементы Цикл Если ЭлементОтбора.ЛевоеЗначение = Поле Тогда НайденныйЭлемент = ЭлементОтбора; КонецЕсли; КонецЦикла; Если НайденныйЭлемент = Неопределено Тогда НайденныйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); КонецЕсли; Если ТипЗнч(ЗначениеПараметра) = Тип("Массив") Тогда НайденныйЭлемент.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; СписокЗначений = Новый СписокЗначений; СписокЗначений.ЗагрузитьЗначения(ЗначениеПараметра); ПравоеЗначение = СписокЗначений; Иначе НайденныйЭлемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ПравоеЗначение = ЗначениеПараметра; КонецЕсли; НайденныйЭлемент.Использование = Использование; НайденныйЭлемент.ЛевоеЗначение = Поле; НайденныйЭлемент.ПравоеЗначение = ПравоеЗначение; Возврат НайденныйЭлемент; КонецФункции // НайтиЭлементОтбораСКД() |
|||
5
Zelenivek
17.10.11
✎
17:18
|
Процедура ЗаполнитьТаблицуТоваровНаСервере(ПроверятьЗаполнение = Истина, Сохранять = Истина)
Если ПроверятьЗаполнение И ЭтаФорма.ПроверитьЗаполнение() = Ложь Тогда Возврат; КонецЕсли; // Сохранение выбранных позиций для их последующего восстановления. Если Сохранять Тогда ТаблицаВыбранныеПозиции = Объект.Товары.Выгрузить(); КонецЕсли; // Поля необходимые для вывода в таблицу товаров на форме. СтруктураНастроек = Обработки.ПечатьЭтикетокИЦенников.ПолучитьПустуюСтруктуруНастроек(); СтруктураНастроек.ОбязательныеПоля.Добавить("Цена"); СтруктураНастроек.ОбязательныеПоля.Добавить("Штрихкод"); СтруктураНастроек.ОбязательныеПоля.Добавить("Количество"); СтруктураНастроек.ОбязательныеПоля.Добавить("Номенклатура"); Если ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры") Тогда СтруктураНастроек.ОбязательныеПоля.Добавить("Характеристика"); КонецЕсли; Если ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры") Тогда СтруктураНастроек.ОбязательныеПоля.Добавить("Упаковка"); КонецЕсли; СтруктураНастроек.ОбязательныеПоля.Добавить("ОстатокНаСкладе"); // Шаблоны этикеток и ценников. СтруктураНастроек.ОбязательныеПоля.Добавить("Номенклатура.ВидНоменклатуры.ШаблонЭтикетки"); СтруктураНастроек.ОбязательныеПоля.Добавить("Номенклатура.ВидНоменклатуры.ШаблонЦенника"); СтруктураНастроек.ПараметрыДанных.Вставить("ВидЦены" , Объект.ВидЦены); СтруктураНастроек.ПараметрыДанных.Вставить("МагазинДляЦен" , Объект.МагазинДляЦен); СтруктураНастроек.ПараметрыДанных.Вставить("ПравилоЦенообразования" , Объект.ПравилоЦенообразования); СтруктураНастроек.ПараметрыДанных.Вставить("ЦеныПоВидуЦены" , Объект.ЦеныПоВидуЦены); СтруктураНастроек.ПараметрыДанных.Вставить("ЦеныНаДату" , Объект.ЦеныНаДату); СтруктураНастроек.ПараметрыДанных.Вставить("ЦеныНазначенныеДействующие" , Объект.ЦеныНазначенныеДействующие); //СтруктураНастроек.ПараметрыДанных.Вставить("Склад" , Объект.Склад); СтруктураНастроек.ПараметрыДанных.Вставить("Организация", Объект.Организация); СтруктураНастроек.КомпоновщикНастроек = КомпоновщикНастроек; Если Объект.ИсходныеДанные.Количество() > 0 ИЛИ ПечатьИзДокумента Тогда СтруктураНастроек.ИмяМакетаСхемыКомпоновкиДанных = "ПоляШаблона"; СтруктураНастроек.ИсходныеДанные = Объект.ИсходныеДанные.Выгрузить(); Иначе СтруктураНастроек.ИмяМакетаСхемыКомпоновкиДанных = "ПоляШаблонаБД"; КонецЕсли; Объект.Товары.Очистить(); // Загрузка сформированного списка товаров. СтруктураРезультата = Обработки.ПечатьЭтикетокИЦенников.ПодготовитьСтруктуруДанных(СтруктураНастроек); Для Каждого СтрокаТЧ Из СтруктураРезультата.ТаблицаТоваров Цикл НоваяСтрока = Объект.Товары.Добавить(); НоваяСтрока.Номенклатура = СтрокаТЧ.Номенклатура; Если ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры") Тогда НоваяСтрока.Характеристика = СтрокаТЧ.Характеристика; КонецЕсли; Если ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры") Тогда НоваяСтрока.Упаковка = СтрокаТЧ.Упаковка; КонецЕсли; НоваяСтрока.Цена = СтрокаТЧ.Цена; НоваяСтрока.Штрихкод = СтрокаТЧ.Штрихкод; НоваяСтрока.ШаблонЦенника = СтрокаТЧ[СтруктураРезультата.СоответствиеПолейСКДКолонкамТаблицыТоваров.Получить("Номенклатура.ВидНоменклатуры.ШаблонЦенника")]; НоваяСтрока.ШаблонЭтикетки = СтрокаТЧ[СтруктураРезультата.СоответствиеПолейСКДКолонкамТаблицыТоваров.Получить("Номенклатура.ВидНоменклатуры.ШаблонЭтикетки")]; НоваяСтрока.ОстатокНаСкладе = СтрокаТЧ.ОстатокНаСкладе; НоваяСтрока.КоличествоВДокументе = СтрокаТЧ.Количество; УстановитьКоличествоПоУмолчаниюВСтрокеТЧНаСервере(НоваяСтрока); // Восстановление позиций, сохраненных перед заполнением ТЧ. Если Сохранять Тогда ПараметрыОтбора = Новый Структура(); ПараметрыОтбора.Вставить("Номенклатура", НоваяСтрока.Номенклатура); Если ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры") Тогда ПараметрыОтбора.Вставить("Характеристика", НоваяСтрока.Характеристика); КонецЕсли; Если ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры") Тогда ПараметрыОтбора.Вставить("Упаковка", НоваяСтрока.Упаковка); КонецЕсли; НайденныеСтроки = ТаблицаВыбранныеПозиции.НайтиСтроки(ПараметрыОтбора); Если НайденныеСтроки.Количество() > 0 Тогда ЗаполнитьЗначенияСвойств(НоваяСтрока, НайденныеСтроки[0],"ШаблонЦенника, ШаблонЭтикетки, КоличествоЦенников, КоличествоЭтикеток"); КонецЕсли; КонецЕсли; НоваяСтрока.Выбран = ПроверитьВозможностьВыбораТовара(НоваяСтрока, Режим); КонецЦикла; Элементы.Товары.Обновить(); КонецПроцедуры // ЗаполнитьТаблицуТоваровНаСервере() |
|||
6
Zelenivek
17.10.11
✎
17:30
|
Сотрировку я добавил в форму,но суть то в том что выводит на предварительный просмотр то что сама программа хочет,печатает именно то что с предварительного просмотра.Как сделать чтоб на печать выходило в той последовательности как в "печать этикеток из документа"?
|
|||
7
Zelenivek
17.10.11
✎
19:26
|
Может кто нибудь уточнит на что обратить внимание?Или код свой выложит у кого проблем с этим нет.Очень нужно.
|
|||
8
Zelenivek
18.10.11
✎
07:19
|
Что волшебства не будет?
|
|||
9
Oleg_Kag
18.10.11
✎
07:40
|
Если печатать из предварительного просмотра, то последовательность совпадает (то что видишь на экране и то что печатается)?
|
|||
10
Zelenivek
18.10.11
✎
07:50
|
Да, из предварительного просмотра то и печатается.А вот почему не из документа(обработки) "печать этикеток из документа" берется последовательность не понятно(
|
|||
11
Ткачев
18.10.11
✎
08:58
|
В обработке печать этикеток и ценников, в макете "ПоляШаблона", в запросе в пакете "Запрос пакета 7", есть вкладка "Порядок", что туда вставишь так и будет сортировать.
Ну а далее думай как сортировку сделать пользовательской. |
|||
12
Zelenivek
18.10.11
✎
09:59
|
Большое спасибо!
Поставил ИсходныеДанныеПоследнийЗапрос.Номенклатура.Наименование Сразу при открытие все по порядку и при печати тот же порядок. Хорошо а такой вопрос, а как чтоб он порядок брал из документа с которого печать посылается, в 8.1 так было. |
|||
13
Поручик
18.10.11
✎
10:14
|
(12) Немного переколбасить обработку печати или процедуры ПодготовитьСтруктуруДанных() в модулях команд ПечатьЭтикеток/ПечатьЦенников, так как данные из документа в обработку приходят в обезличенном виде.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |