|
v7: Этикетки в ТиС | ☑ | ||
---|---|---|---|---|
0
Паштет
21.11.12
✎
21:31
|
А подскажите пожалуйста как мне быть, если при нажатии на кнопку "Этикетка" в номенклатуре мне нужно чтобы их формировало, к примеру 10 штук.
Перем ОписаниеРезультата; //****************************************************************************** // ТолькоЦифры(Стр) // // Параметры: // Стр - текстовая строка // // Возвращаемое значение: // 1 - если в строке только цифры, иначе 0 // // Описание: // Функция ТолькоЦифры(Стр) Рез = 1; Для Сч = 1 По СтрДлина(Стр) Цикл Символ = Сред(Стр, Сч, 1); Если Найти("0123456789", Символ) = 0 Тогда Рез = 0; Прервать; КонецЕсли; КонецЦикла; Возврат Рез; КонецФункции // ТолькоЦифры() //****************************************************************************** // ПроверитьШтрихкод(Штрихкод) // // Параметры: // Штрихкод - штриховой код, который нужно проверить // // Возвращаемое значение: // 1 - штрихкод имеет верный формат, 0 - нет. // // Описание: // Проеверяет штрихкод на соответствие кодировке EAN 13 и EAN 8. // Функция ПроверитьШтрихкод(Штрихкод) Штрихкод = СокрЛП(Штрихкод); ДлинаКода = СтрДлина(Штрихкод); Рез = 0; Если ТолькоЦифры(Штрихкод) = 1 Тогда // штрихкод должен состоять из цифр Если (ДлинаКода = 13) Тогда Если глКонтрольныйСимволEAN(Лев(Штрихкод,12), 13) = Прав(Штрихкод, 1) Тогда Рез = 1; КонецЕсли; ИначеЕсли (ДлинаКода = 8) Тогда Если глКонтрольныйСимволEAN(Лев(Штрихкод,7), 8) = Прав(Штрихкод, 1) Тогда Рез = 1; КонецЕсли; КонецЕсли; КонецЕсли; Возврат Рез; КонецФункции // ПроверитьШтрихкод() //****************************************************************************** // Сформировать(Штрихкод, Устройство) // // Параметры: // ТаблицаТоваров - таблица значений, состоящая из колонок: // Товар - эл.справочника номенклатура или строка, // наименование товара // Штрихкод - строка, штрихкод товара // Устройство - устройство, куда выводить этикетку. // "экран" - на экран, "принтер" - на принтер. // Значение по умолчанию - 0; // // Возвращаемое значение: // 1 - штрихкод имеет верный формат, 0 - нет. // // Описание: // Выводит этикетку(и) на заданное устройство. // Процедура Сформировать(ТаблицаТоваров, Устройство) // Создание Таблицы для выходного отчета Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Этикетка"); Если ТаблицаТоваров.КоличествоСтрок() = 1 Тогда ТаблицаТоваров.ПолучитьСтрокуПоНомеру(1); Если ПроверитьШтрихкод(ТаблицаТоваров.Штрихкод) = 0 Тогда Предупреждение("У товара """ + ТаблицаТоваров.Товар + """ штрихкод не задан или имеет неверный формат!"); Возврат; Иначе Таб.ВывестиСекцию("ГорТелоВнутр|ВертТелоВнутр"); КонецЕсли; Иначе ВсегоКолонок = 4; ВсегоСтрок = 10; ТекКолонка = 1; ТекСтрока = 1; ТаблицаТоваров.ВыбратьСтроки(); Пока ТаблицаТоваров.ПолучитьСтроку() = 1 Цикл Если ПроверитьШтрихкод(ТаблицаТоваров.Штрихкод) = 0 Тогда Сообщить("У товара """ + ТаблицаТоваров.Товар + """ штрихкод не задан или имеет неверный формат!"); Иначе Если ТекКолонка > ВсегоКолонок Тогда ТекКолонка = 1; ТекСтрока = ТекСтрока + 1; КонецЕсли; Если ТекСтрока > ВсегоСтрок Тогда ТекСтрока = 1; Таб.НоваяСтраница(); КонецЕсли; Если ТекКолонка = 1 Тогда Таб.ВывестиСекцию("ГорТело|ВертТело"); Иначе Таб.ПрисоединитьСекцию("ГорТело|ВертТело"); КонецЕсли; ТекКолонка = ТекКолонка + 1; КонецЕсли; КонецЦикла; КонецЕсли; //Вызов выходного отчета в окно просмотра и редактирования. Таб.Опции(0, 0, 0, 0, "ПечатьЭтикетки", "ПечатьЭтикетки"); Если Устройство="экран" Тогда Таб.ТолькоПросмотр(1); Таб.Показать("Этикетка", ""); Иначе Таб.Напечатать(0); КонецЕсли; КонецПроцедуры //****************************************************************************** // Предопределенная процедура // Процедура ПриОткрытии() СтатусВозврата(0); // проверка наличия компоненты Попытка КомпонентABC = СоздатьОбъект("BARCODE.BarcodeCtrl.1"); Исключение Предупреждение("Компонент ActiveBarcode не установлен на данном компьютере!" + РазделительСтрок + "Порядок установки компоненты ActiveBarcode описан в документации."); Возврат; КонецПопытки; Если ТипЗначенияСтр(Форма.Параметр) <> "СписокЗначений" Тогда Возврат; КонецЕсли; Устройство = Форма.Параметр.Получить("Устройство"); Если ПустоеЗначение(Устройство) = 1 Тогда Устройство = "экран"; КонецЕсли; Сформировать(Форма.Параметр.Получить("ТаблицаТоваров"), Устройство); КонецПроцедуры // ПриОткрытии() |
|||
1
zak555
21.11.12
✎
21:33
|
а формируется сколько *?
|
|||
2
zak555
21.11.12
✎
21:34
|
в ТаблицаТоваров передай 10ть строк
|
|||
3
Паштет
21.11.12
✎
21:34
|
формируется одна
|
|||
4
Паштет
21.11.12
✎
21:37
|
(2) это же здесь?
Иначе ВсегоКолонок = 4; ВсегоСтрок = 10; ТекКолонка = 1; ТекСтрока = 1; |
|||
5
Паштет
21.11.12
✎
21:38
|
но я пытаюсь менять а результат отрицательный
|
|||
6
zak555
21.11.12
✎
21:43
|
(4) нет
если больше одной строки передаёшь, то будет выводится по квадратам |
|||
7
Паштет
21.11.12
✎
21:44
|
(6) так а там больше негде менять ничего
|
|||
8
zak555
21.11.12
✎
21:45
|
(7) ты спросил -- как напечатть 10 штук - я ответил
|
|||
9
Паштет
21.11.12
✎
21:48
|
(8) очень содержательно ответил
|
|||
10
zak555
21.11.12
✎
21:52
|
(9) тебе надо передать СЗ, в котором есть два элемента
1. строка со значением Устройство 2. таблицаЗначений ( ТЗ ) ТаблицаТоваров вот в в это и должно быть больше одной строки |
|||
11
Паштет
21.11.12
✎
22:07
|
(10) понимаете в чем дело, на этом форуме большинство таким образом обьясняют людям, чтобы их смогли понять только программеры... Но программерам она и нак не нужно, они и сами знают такие простые вещи, а обычным пользователям 1С это просто не понятно. Тогда смысл такой помощи?
|
|||
12
Паштет
21.11.12
✎
22:08
|
(10) неужели я не прав?
|
|||
13
Паштет
21.11.12
✎
22:18
|
Ато получается когда обычный пользователь заходит на форум с каким-то вопросом, то вероятность что он получит какую-то помощь минимальная. Или человека обсырают с ног до головы, мол "Ты что тупой таких вещей не знать..." или просто программеры общаются между собой на своем языке непонятном для обычного пользователя 1С...
|
|||
14
zak555
21.11.12
✎
22:20
|
(11) > а обычным пользователям 1С это просто не понятно. Тогда смысл такой помощи
обычные пользователи вызывают за денежку тех, кто понимают написанное |
|||
15
Паштет
21.11.12
✎
22:23
|
За денюжку все решается, это понятно... Но согласитесь, вы бы могли обьснить гораздо проще, но специально делаете так))
|
|||
16
Паштет
21.11.12
✎
22:27
|
Реально большинство тем на форуме из тех, которые я читал просто оскорбляют человека, если он далекий от программирования.
|
|||
17
Neg
21.11.12
✎
22:31
|
(16) Волшебник, ты что ли? :)
|
|||
18
Паштет
21.11.12
✎
22:34
|
(17) ... ппц
|
|||
19
Паштет
21.11.12
✎
22:35
|
не волшебник))) стал бы он такой херней заниматься
|
|||
20
AlexNew
21.11.12
✎
22:37
|
(16) Я бы сказал оскорбляют разум человека.
|
|||
21
Паштет
21.11.12
✎
22:39
|
(20) пусть будет так как вы говорите, а не так как я))) но смысл не сильно меняется
|
|||
22
Паштет
21.11.12
✎
22:39
|
в результате все равно сплошной троллинг...
|
|||
23
AlexNew
21.11.12
✎
22:40
|
(21) Очко, конечно, но смысл сильно меняется.
|
|||
24
Паштет
21.11.12
✎
22:44
|
(23) угу, очень сильно... читаешь бывает ветку, и охереваешь... ничего по теме ветки, большинство обсиралово и споры... какая-то атмосфера не дружная, не человеческая.
|
|||
25
Паштет
21.11.12
✎
22:46
|
(24) наверное на пальцах одной руки можно пересчитать тех людей, которые еще не "включили понты", которые могут помочь пользователям и делают это
|
|||
26
Паштет
21.11.12
✎
22:47
|
ну да ладно, не хочу разводить эту болтовню... ее на форуме и так хватает
|
|||
27
AlexNew
21.11.12
✎
22:49
|
(25) Странно объяснять человеку, к-рый видел Excel что такое программирование, нет?
|
|||
28
Паштет
21.11.12
✎
23:16
|
(27) нет, не странно. Например я прислал код, и спросил как его нужно изменить чтобы было 10 ценников. Есть 2 варианта: можно написать как его нужно изменить, а можно обьяснить как программер программеру... всего-то... но куда там на этом форуме получить реальный ответ))) надо же попонтоваться
|
|||
29
zak555
21.11.12
✎
23:28
|
(25) кто тут и где включил "понты" ?
|
|||
30
BlackSeaCat
21.11.12
✎
23:51
|
Опять "Уважаемые спецы, объясните на пальцах - как построить самолет, и чтобы летал! Только чур, по телефону, а то учиться некогда, завтра уже лететь надо!"
|
|||
31
Паштет
22.11.12
✎
00:08
|
(30) та ладно... утрировать не нужно только)) все гораздо проще.
|
|||
32
Паштет
22.11.12
✎
00:10
|
(29) вы знаете о чем я говорю. Вы так же прекрасно понимаете мой уровень... вам видимо моральный садизм удовольствие приносит))
|
|||
33
zak555
22.11.12
✎
00:10
|
(32) ты же написал даже откуда тебе надо распечатать
|
|||
34
Voronve
22.11.12
✎
00:15
|
(32) В тис нет такого кода. Твой уровень - нуб. Мы ржем на нубами неспособными заставить юзеров проставить количество копий, да.
никогда не ржем над людьми которые хатят учиться. |
|||
35
zak555
22.11.12
✎
00:16
|
(34) код из (0) не из ТиСа ?
|
|||
36
Voronve
22.11.12
✎
00:17
|
эммм ... да. там нет конструкций вида:
Устройство = Форма.Параметр.Получить("Устройство"); Если ПустоеЗначение(Устройство) = 1 Тогда Устройство = "экран"; КонецЕсли; |
|||
37
zak555
22.11.12
✎
00:19
|
может в ert ?
|
|||
38
Voronve
22.11.12
✎
00:23
|
Есть, и в ert тоже
Процедура Печать(Устройство = 0, КолвоКопий = 1) .... Если Устройство = 0 Тогда ПечТаблица.Опции(0, 0, 0, 0, "Параметры", "Параметры"); ПечТаблица.Показать("Печать"); Иначе ПечТаблица.КоличествоЭкземпляров(КолвоКопий); ПечТаблица.Напечатать(0); КонецЕсли; КонецПроцедуры |
|||
39
zak555
22.11.12
✎
00:25
|
ну так очень похоже ))
|
|||
40
Voronve
22.11.12
✎
00:25
|
у него явно самоделка какая то ...
|
|||
41
zak555
22.11.12
✎
00:26
|
(40) ход мыслней верный )
|
|||
42
Voronve
22.11.12
✎
00:31
|
(41) Пачиба дядька мне писец как нехватало твоих слов.
|
|||
43
Злопчинский
22.11.12
✎
02:33
|
(32) жизнь несправедлива - смирись с этим. Повозврни в клинику, попроси чтобы рассказали как починить зуб.. или имплант вставить - эффект будет примерно как и тут.
. если ты прог совсем начального уровня - читай код. в ТИС он внятно написан - я же как-то научился сам, ни книжек ни форумов не было. к чтению кода - добавь чтение комплекта желтых книжек п о описанию встроенного языка. . и долбить.. долбить.. долбить... . когда уровень твоих вопросов повыситяс до некоего базового уровня - тебе будут здесь отвечать. . при том уровне вопросов который у тебя сейчас - просто скажут что делать, но врядли скажут КАК (подробно разжевава для непонятливых и попутно проведя лекцию на 2 часа о структуре построения типовой ТИС и взаимосвязях и типовых приемах)... |
|||
44
Злопчинский
22.11.12
✎
02:36
|
а! самое главное: куча людей то что тебе надо делали это уже столько раз что уже тошнит.. а тут ты.. по 10 кругу...
|
|||
45
zak555
22.11.12
✎
02:36
|
> и долбить.. долбить.. долбить...
чего долбить-то ? |
|||
46
Паштет
22.11.12
✎
11:31
|
(34)(35) типовая ТиС, обработка "ПечатьЭтикеток"
|
|||
47
Паштет
22.11.12
✎
11:32
|
(40) какая нах самоделка...
|
|||
48
Voronve
22.11.12
✎
11:33
|
Ипать... и правда
|
|||
49
Mikeware
22.11.12
✎
11:34
|
(28) есть третий вариант - ты платишь денежку, и тебе делают.
есть и четвертый - ты платишь денежку, и тебя учат, как сделать... |
|||
50
Паштет
22.11.12
✎
11:34
|
(43) вы мудрый однако дядька)))
|
|||
51
Паштет
22.11.12
✎
11:36
|
(49) с таким раскладом гораздо проще заплатить всего лишь 800 рубчиков на инфостарт и месяц качать уже готовые обработки, на любой вкус и цвет.
|
|||
52
Mikeware
22.11.12
✎
11:37
|
(51) ну так заплати. какие проблемы?
|
|||
53
Паштет
22.11.12
✎
11:38
|
(52) я уже писал в предыдущей ветке что рассчитывал узнать бесплатно
|
|||
54
Mikeware
22.11.12
✎
11:41
|
(53) и что? узнал? :-)
в принципе, информации тебе дадено уже вполне достаточно, чтобы начать работать самостоятельно. |
|||
55
Масянька
22.11.12
✎
11:42
|
Поддержу - бесплатный сыр бывает только в мышеловке.
PS Если человек - начинающий 1с-ник - меньше шуми и требуй, больше вежливо проси и не забывай говорить "Пожалуйста" и "Спасибо". |
|||
56
Паштет
22.11.12
✎
11:44
|
(55) спасибо за очень ценный совет))) Тогда буду учиться, а когда научусь формулировать свои вопросы на более высоком уровне, я обязательно вернусь
|
|||
57
Злопчинский
22.11.12
✎
20:09
|
(51) ты глубоко заблуждаешься. Среди выложенных на ИСЕ к непосредственному прямому использованию пригоден очень маленький процент.
. В частности - попробуй сходу найди на ИСЕ, чтобы в этикетке (любого размера) название товара ВСЕГДА ВЛАЗИЛО в отведенное место без изменения размера этикетки. . Я - сходу не нашел. . так что успехов вам в берибольше кидай дальше отдыхай пока летит |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |