|
v7: Помогите с печатью (отступы от краев) | ☑ | ||
---|---|---|---|---|
0
Паштет
17.07.13
✎
17:01
|
Мужики, помогите решить проблему, в предыдущем топике решил вопрос с автоматической печатью при нажатии на кнопку "Печать" (ТиС, чекККМ).
Теперь другой вопрос, выводится чек совсем не в том масштабе что мне нужно, и даже если я устанавливаю так как мне нужно в ручную, то в следующий раз когда распечатываю чек настройки параметров печати опять сбиваются. можно ли как-то программно указать для печатной формы чека отспуты слева, справа, сверху, снизу - 0, а масштаб - по ширине листа? |
|||
1
Джордж1
17.07.13
✎
17:02
|
ПараметрыСтраницы смотри
|
|||
2
Chum
17.07.13
✎
17:02
|
ПараметрыСтраницы()
|
|||
3
Chum
17.07.13
✎
17:03
|
масштаб 100 и отключи автомасштаб. Поля там же настраиваются
|
|||
4
Паштет
17.07.13
✎
17:06
|
ПечТаблица.ПараметрыСтраницы(,,,,,,,,,1,,);
это единственное что там есть по этому поводу... я сам не разберусь как добавить |
|||
5
Chum
17.07.13
✎
17:07
|
с СП открой, там каждый параметр описан.
первый параметр - альбомная/книжная ориентация потом колонтитулы потом отступы: слева, справа, сверху, снизу. твоя 1 это скорее всего автомасштаб |
|||
6
Chum
17.07.13
✎
17:08
|
ПараметрыСтраницы(<?>,,,,,,,,,,,);
Синтаксис: ПараметрыСтраницы(<Ориентация>,<Масштаб>,<РежимПечатиКопий>,<ПолеСлева>,<ПолеСправа>,<ПолеСверху>,<ПолеСнизу>,<КолонтитулСверху>,<КолонтитулСнизу>,<Автомасштаб>,<ФлагЧБПечати>,<ИмяПринтера>) Назначение: Установить параметры страницы. Возвращаемого значения нет. Параметры: <Ориентация> - необязательный параметр. Ориентация вывода на печать: число: 1 - портрет; 2 - ландшафт. <Масштаб> - необязательный параметр. Числовое выражение - масштаб (в процентах) вывода на печать. <РежимПечатиКопий> - необязательный параметр. Числовое выражение - режим вывода нескольких копий на печать: 0 - (collate) выводить сначала первые страницы всех копий, затем вторые и т.д.; 1 - (разобрать) выводить страницы копий по порядку. <ПолеСлева> - необязательный параметр. Числовое выражение - расстояние (в миллиметрах) от левого края страницы. <ПолеСправа> - необязательный параметр. Числовое выражение - расстояние (в миллиметрах) от правого края страницы. <ПолеСверху> - необязательный параметр. Числовое выражение - расстояние (в миллиметрах) от верхнего края страницы. <ПолеСнизу> - необязательный параметр. Числовое выражение - расстояние (в миллиметрах) от нижнего края страницы. <КолонтитулСверху> - необязательный параметр. Числовое выражение - размер (в миллиметрах) верхнего колонтитула. <КолонтитулСнизу> - необязательный параметр. Числовое выражение - размер (в миллиметрах) нижнего колонтитула. <Автомасштаб> - необязательный параметр. Режим автоматического подбора масштаба для размещения документа при печати на листе по ширине. 1 - включить; 0 - выключить; по умолчанию - 0. <ФлагЧБПечати> - необязательный параметр. Число: 1 - черно-белая печать; 0 - обычный режим печати. Значение по умолчанию - 0. <ИмяПринтера> - необязательный параметр. Строка имени принтера, как в стандартном диалоге печати Windows. Замечание: Метод может использоваться при работе с таблицей в режиме ввода данных. |
|||
7
Chum
17.07.13
✎
17:10
|
В твоем случае примерно так:
ПечТаблица.ПараметрыСтраницы(1,100,,10,10,10,10,,,0,,); |
|||
8
Паштет
17.07.13
✎
17:11
|
(6) откуда же вы все это берете????? это учебник есть какой-то универсальный?
|
|||
9
Паштет
17.07.13
✎
17:11
|
как это все можно знать...
|
|||
10
Джордж1
17.07.13
✎
17:12
|
Кнопку с дядькой в шляпе нажми
|
|||
11
Масянька
17.07.13
✎
17:13
|
Да подарите ему уже СП (Синтаксис-помощник) :)))))))))))
|
|||
12
Паштет
17.07.13
✎
17:14
|
(10) ага, я даже этого не знал...
|
|||
13
Chum
17.07.13
✎
17:14
|
(8) ты серьезно? Синтакс-помощник не знаешь?
набери в окне модуля параметрыСтраницы воткни в середину курсор и нажми Ctrl+F1 - удивишься. |
|||
14
Паштет
17.07.13
✎
17:15
|
(13) ух ты млин))) не знал, честно!
|
|||
15
Паштет
17.07.13
✎
17:16
|
(13) спасибо, хоть может быть не буду вас задалбывать такими вопросами...
|
|||
16
Паштет
17.07.13
✎
17:16
|
ну уж простите, я же чайник еще вообще)))
|
|||
17
Паштет
17.07.13
✎
17:17
|
но я научусь!
|
|||
18
Паштет
17.07.13
✎
17:17
|
спасибо огромное вам за помощь
|
|||
19
Chum
17.07.13
✎
17:18
|
(16) как бы 7 месяцев тут уже... клюшки изучить месяц-два обычно уходит
(17) обязательно, только вот зачем? 8-ку учи |
|||
20
Паштет
17.07.13
✎
17:19
|
(19) если бы мог каждый день хоть по часику выделять - выучил бы, а так дочка маленькая))))
|
|||
21
Chum
17.07.13
✎
17:20
|
(8) в коробке с 1С идет две желто-красные книжки (ЖКК) под названием "Описание встроенного языка часть 1" и "... часть 2". Рекомендую к прочтению. Необязательно все учить, просто ознакомься с методами объектов, для чего они и что могут, потом гораздо проще будет искать что-то нужное.
|
|||
22
Паштет
17.07.13
✎
17:21
|
(21) все жкк в наличии, пробовал читать - подумал что надо мне начинать с чего-то попроще, взял учебник Волшебника...
|
|||
23
Chum
17.07.13
✎
17:21
|
Вот сюда еще загляни: http://www.mista.ru/tutor_1c/
|
|||
24
Паштет
17.07.13
✎
17:22
|
(23) вот-вот, это у меня и есть!
|
|||
25
Паштет
17.07.13
✎
17:24
|
а не подскажете как научится отладчиком пользоваться?
|
|||
26
Паштет
17.07.13
✎
17:24
|
как бы даже не понимаю его сути
|
|||
27
Паштет
17.07.13
✎
17:26
|
стыдно сказать
|
|||
28
Mikeware
17.07.13
✎
17:51
|
суть его - отлаживать программы. т.е. избавлять программы от лажи...
|
|||
29
Mikeware
17.07.13
✎
17:53
|
запусти его одновременно с предприятием, открой нужную обработку (или модуль), поставь там точку останова. а в предприятии запусти. как только исполнение дойдет до точки останова - выполнение приостановится, и ты сможешь просмотреть переменные, например. или выполнять программу пошагово и смотреть на ветвления...
|
|||
30
Паштет
20.07.13
✎
20:40
|
Всем добра, мужики, а подскажите пожалуйста такую фишку, хоть где рыть))) Все тот же ЧекККМ, пытаюсь я сделать такую фишку:
Если Получено < > 0 Тогда //Хочу чтобы если получено больше или меньше нуля, то вывести документ на печать, но никак гадость этакая не выводится... КонецЕсли; |
|||
31
Паштет
20.07.13
✎
20:40
|
Если Получено < > 0 Тогда
Парам.Получить("Команда") = "Печать"; КонецЕсли; так попробовал - не получается |
|||
32
Voronve
20.07.13
✎
20:44
|
(31) Перефразируй хотелку. Ничонипанятна
|
|||
33
Паштет
20.07.13
✎
20:47
|
(32) на форме ЧекККМ есть поле "Получено", после ввода полученной суммы выбивает сдачу покупателю. Хочу чтобы после того, как продавец ввел "Получено" и нажал "Ентер", чтобы сразу открылась печатная форма чека...
|
|||
34
Паштет
20.07.13
✎
20:49
|
Но так как она у меня впринципе не откроется, потому что с вашей помощью мне удалось чтобы при нажатии на кнопку "Печать" чек сразу распечатывался на принтер, в общем чтобы распечатался чек при вводе "Получено"
|
|||
35
Voronve
20.07.13
✎
20:57
|
1. В СП посмотри КнопкаПоУмолчанию()
2. В свойствах поля "Получено" прикрути вызов процедуры печати |
|||
36
Voronve
20.07.13
✎
20:57
|
(35) 1 или 2
|
|||
37
Паштет
20.07.13
✎
21:00
|
(36) вот, я как-то понимаю что нужно прикрутить вызов процедуры печати, но как не знаю...
|
|||
38
Voronve
20.07.13
✎
21:03
|
Свойства поля "получено" вкладка "дополнительно" поле "формула" - ПриВводеОплаты()
В модуле формы документа Процедура ПриВводеОплаты() Если Получено <> 0 Тогда <Наименование твоей процедуры печати>; КонецЕсли; КонецПроцелуры |
|||
39
Паштет
20.07.13
✎
21:09
|
Процедура ПриВводеОплаты()
Если Получено <> 0 Тогда <Процедура Печать>; КонецЕсли; КонецПроцедуры отак чтоли.. |
|||
40
Паштет
20.07.13
✎
21:10
|
не выходит, пишет ошибку мол "Процедура или функция с указанным именем уже определена в текущем модуле (Печать)"
|
|||
41
Voronve
20.07.13
✎
21:11
|
Процедура ПриВводеОплаты()
Если Получено <> 0 Тогда Печать(); КонецЕсли; КонецПроцедуры |
|||
42
Паштет
20.07.13
✎
21:15
|
от зараза... не получается все равно, пишет теперь такую вещь:
глФРМ(ПечСебест<<?>>) Переменная не определена (ПечСебест) глФРМ(ПечНДС<<?>>) Переменная не определена (ПечНДС) ПечТаблица.ВывестиСекцию("Строка"); {Документ.ЧекККМ.Форма.Модуль(180)}: Секция не найдена Строка Но если сразу нажимаю на кнопку "Печать" то все нормально |
|||
43
Паштет
20.07.13
✎
21:15
|
(41) сегодня со мной должны расплатится, я отблагодарю, даю слово!
|
|||
44
Паштет
20.07.13
✎
21:16
|
так подумать, кому оно надо со мной возится)))
|
|||
45
Voronve
20.07.13
✎
21:17
|
(44) не скули
|
|||
46
Паштет
20.07.13
✎
21:17
|
может это процедуру надо в самый конец закинуть...
|
|||
47
Паштет
20.07.13
✎
21:18
|
оно выходит еще не видит этих переменных
|
|||
48
Паштет
20.07.13
✎
21:19
|
(46) а не... не выходит))) что же у меня все сикось-накось идет
|
|||
49
Voronve
20.07.13
✎
21:20
|
Дайка сюда весь код модуля дока "Чек ККМ". Посмотрим чо ты там наворочал
|
|||
50
Паштет
20.07.13
✎
21:20
|
(45) это я от понимания что я ничего не понимаю
|
|||
51
Паштет
20.07.13
✎
21:23
|
////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ // Перем СписокДействий; // для механизма кнопки "Действия" Перем ТаблицаПечФорм; // список печатных форм документа Перем НомерТекущейФормы; Перем НачальнаяДатаДокумента; // для механизма контроля уникальности номеров Перем СтараяСкидка; Перем ТекущийДолг; Перем ОбщРег, ОстаткиТМЦ, СписокПараметров; // для выбора розничных цен, по которым есть остатки Перем СтараяСумма, СтараяПолучено; //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ // //****************************************************************************** // УправлениеВидимостью() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога: // // Описание: // Управление видимостью элементов диалога. // Процедура УправлениеВидимостью() Форма.СуммаСкидки.Видимость(Скидка.Выбран()); КонецПроцедуры // УправлениеВидимостью() //****************************************************************************** // ОбновитьНадписи() // // Описание: // Обновляет текст информационных надписей в форме документа Процедура ОбновитьНадписи() Форма.ТекстФирмы .Заголовок(глСтрокаФирмы (Контекст)); Форма.ТекстСклада .Заголовок(глСтрокаСклада (Склад)); КонецПроцедуры //ОбновитьНадписи() //****************************************************************************** // ВывестиПолноеНаименованиеВалюты() // // Параметры: // Нет // // Возвращаемое значение: // Строка - полное наименование валюты или строку "Валюта не задана" // // Вызывается из формул элементов диалога: // // Описание: // Возвращает полное наименоавние валюты документа // Функция ВывестиПолноеНаименованиеВалюты() Если ПустоеЗначение(Валюта) = 1 Тогда Возврат "Валюта не задана"; Иначе Возврат Валюта.ПолнНаименование; КонецЕсли; КонецФункции //***************************************************************************** // ЗаголовокФормы() // // Параметры: // Нет // // Возвращаемое значение: // Название операции // // Описание: // Формирует название операции и заголовок формы диалога // Функция ЗаголовокФормы() Перем Заголовок, Название; Заголовок = глНазваниеДОкументаВЖурнале(Контекст); Название = Заголовок+" №"; Если Выбран() = 1 Тогда Если Проведен() = 1 Тогда Заголовок = Заголовок + ". Проведен"; Иначе Заголовок = Заголовок + ". Не проведен"; КонецЕсли; Иначе Заголовок = Заголовок + ". Новый"; КонецЕсли; Форма.Заголовок(Заголовок); Возврат Название; КонецФункции // ЗаголовокФормы //****************************************************************************** // ПоКнопкеПодбор() // // Параметры: // нет. // Возвращаемое значение: // нет. // Описание: Процедура ПоКнопкеПодбор() Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(Фирма, "Фирма"); Параметры.ДобавитьЗначение(Склад, "Склад"); Параметры.ДобавитьЗначение(0, "ЕстьВидТМЦ"); Параметры.ДобавитьЗначение(Валюта, "Валюта"); Параметры.ДобавитьЗначение(Курс, "Курс"); Параметры.ДобавитьЗначение(Кратность, "Кратность"); Если Склад.РозничныйСклад = 0 Тогда Параметры.ДобавитьЗначение("ИзСправочника", "ЦенаВподборе"); Параметры.ДобавитьЗначение(глЗначениеПоУмолчанию("ОсновнойТипЦенПродажи"), "ТипЦен"); Иначе Параметры.ДобавитьЗначение("Розница", "ЦенаВподборе"); КонецЕсли; Если Выбран() = 0 Тогда Параметры.ДобавитьЗначение("Дата", "ТипГраницы"); Параметры.ДобавитьЗначение(ДатаДок, "ЗначениеГраницы"); Иначе Параметры.ДобавитьЗначение("Позиция", "ТипГраницы"); Параметры.ДобавитьЗначение(ПолучитьПозицию(), "ЗначениеГраницы"); КонецЕсли; Параметры.ДобавитьЗначение("Подбор номенклатуры в документ " + ПредставлениеВида() + " № " + НомерДок, "Заголовок"); глПодбор(Контекст, Параметры); КонецПроцедуры // ПоКнопкеПодбор() //****************************************************************************** // Печать(СразуНаПринтер, КолЭкз) // // Параметры: // СразуНаПринтер - (1) если печать на принтер, (0) - с предварительным просмотром // КолЭкз - количество экземпляров печати // // Возвращаемое значение: // нет. // // Описание: // Процедура Печать(СразуНаПринтер = 1,КолЭкз = 1) Перем ПечТаблица, ВысотаШапки; ПечТаблица = СоздатьОбъект("Таблица"); // выводим шапку документа ПечТаблица.ВывестиСекцию("Шапка"); // шапку повторяем на каждой странице ВысотаШапки = ПечТаблица.ВысотаСекции("Шапка"); ПечТаблица.ПовторятьПриПечатиСтроки(1, ВысотаШапки); // выводим товары ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл ПечТаблица.ВывестиСекцию("Строка"); КонецЦикла; // выводим подвал ПечТаблица.ВывестиСекцию("Подвал"); Если СразуНаПринтер = 0 Тогда // покажем результирующую таблицу ПечТаблица.Опции(0, 0, ВысотаШапки, 0, "ПараметрыПечатиЧека", "ПараметрыПечатиЧека"); Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда ПечТаблица.Защита(1); Иначе ПечТаблица.Защита(0); КонецЕсли; ПечТаблица.ТолькоПросмотр(1); ПечТаблица.Показать(глНазваниеДокументаВжурнале(Контекст),""); Иначе ПечТаблица.ПараметрыСтраницы(2,1100,,0,0,22,12,,,0,,"Samsung ML-1860 Series"); ПечТаблица.КоличествоЭкземпляров(КолЭкз); ПечТаблица.Напечатать(0); КонецЕсли; КонецПроцедуры // Печать() //****************************************************************************** // ПоКнопкеПечать() // // Параметры: // Нет // // Описание: // Вызывается по кнопке "Печать" // Процедура ПоКнопкеПечать(СразуНаПринтер = 1,КолЭкз = 1) // проверим полномочия печати непроведенных документов Если (Проведен()=0) Или ((Проведен()=1) И (Модифицированность()=1)) Тогда Если глПолучитьПолномочие("РазрешитьПечатьНепроведенныхДокументов") = 0 Тогда Предупреждение("Недостаточно полномочий для печати непроведенного документа!", 60); Возврат; КонецЕсли; КонецЕсли; Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда НомерТекущейФормы = 1; Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка")); КонецЕсли; Если НомерТекущейФормы = 1 Тогда Печать(СразуНаПринтер, КолЭкз); Иначе Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(глВзятьКонтекст(Контекст), "Контекст"); Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство"); Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий"); ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл")); КонецЕсли; КонецПроцедуры // ПоКнопкеПечать() //****************************************************************************** // ПоКнопкеВыборПечатнойФормы() // // Параметры: // нет. // // Возвращаемое значение: // нет. // // Описание: // - открывает список для выбора способа печати. // - формирует таблицу по выбранному способу. // Процедура ПоКнопкеВыборПечатнойФормы() ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм); Если ВыбНомер > 0 Тогда НомерТекущейФормы = ВыбНомер; Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка")); ПоКнопкеПечать(); КонецЕсли; КонецПроцедуры // ПоКнопкеВыборПечатнойФормы() //****************************************************************************** // ПриИзмененииСкидки() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога: // Поле "Скидка". // // Описание: // Если изменилась скидка - пересчитываем суммы. // Процедура ПриИзмененииСкидки() Если СтараяСкидка<>Скидка Тогда глПересчитатьСкидки(Контекст); СтараяСкидка = Скидка; КонецЕсли; УправлениеВидимостью(); КонецПроцедуры // ПриИзмененииСкидки() // ***************************************************************************** // ПолучитьТовар() // // Параметры: // ШтрихКод - код/штрих-код искомого товара // ВремТовар - возвращаемый товар // ВремЕдиница - возвращаемая единица измерения // // Возвращаемое значение: // 1 - товар найден, иначе 0 // // Вызывается из: // процедуры ПриИзмененииШтрихКода(). // // Описание: // Ищет товар по преданному штрих-коду/коду. // Функция ПолучитьТовар(ШтрихКод,ВремТовар,ВремЕдиница) Рез = 0; СпрЕдиницы = СоздатьОбъект("Справочник.Единицы"); СпрТовар = СоздатьОбъект("Справочник.Номенклатура"); Если СпрЕдиницы.НайтиПоРеквизиту("Штрихкод", ШтрихКод, 1) = 1 Тогда ВремТовар = СпрЕдиницы.Владелец; ВремЕдиница = СпрЕдиницы.ТекущийЭлемент(); Рез = 1; ИначеЕсли СпрТовар.НайтиПоКоду(ШтрихКод,0) = 1 Тогда ВремТовар = СпрТовар.ТекущийЭлемент(); ВремЕдиница = СпрТовар.БазоваяЕдиница; Рез = 1; Иначе ВремКод = ШтрихКод; Пока СтрДлина(ВремКод)<8 Цикл ВремКод = глДополнитьСтрокуЛ(ВремКод, "0", СтрДлина(ВремКод)+1); Если СпрТовар.НайтиПоКоду(ВремКод,0) = 1 Тогда ВремТовар = СпрТовар.ТекущийЭлемент(); ВремЕдиница = СпрТовар.БазоваяЕдиница; Рез = 1; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; Возврат Рез; КонецФункции // ПолучитьТовар() //****************************************************************************** // ПриИзмененииШтрихКода() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога: // Штрих - код. // // Описание: // При изменении штрих - кода надо найти товар по введенному коду. // Процедура ПриИзмененииШтрихКода() Перем ВремТовар,ВремЕдиница; Если ПустоеЗначение(ШтрихКод)=0 Тогда Если ПолучитьТовар(СокрЛП(ШтрихКод), ВремТовар, ВремЕдиница) = 1 Тогда Номенклатура = ВремТовар; Единица = ВремЕдиница; Коэффициент = Единица.Коэффициент; Если глПересчетРегистров(Контекст, СписокПараметров) = 0 Тогда Возврат; КонецЕсли; ТовЦена = ""; Если (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга) или (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа) или (Склад.РозничныйСклад = 0) Тогда Цена = глПолучитьЦену(Номенклатура, Константа.РозничныйТипЦен, ДатаДок, Единица, Валюта, Курс, Кратность); Иначе // цена из остатков регистра глПолучитьРозничныйОстатокЦену(Номенклатура, Единица, ОстаткиТМЦ, , ТовЦена); СписокЦен = ЗначениеИзСтроки(ТовЦена); Если СписокЦен.РазмерСписка() = 0 Тогда Цена = 0; Иначе Цена = СписокЦен.ПолучитьЗначение(1); КонецЕсли; КонецЕсли; глПересчетТаблЧасти(Контекст,"Единица"); // пересчитаем от выбранной единицы Форма.Номенклатура.Доступность(1); Форма.Количество.Доступность(1); Иначе Предупреждение("Товар со штрих-кодом "+СокрЛП(ШтрихКод)+" не найден!", 60); Форма.Номенклатура.Доступность(0); Форма.Количество.Доступность(0); КонецЕсли; Иначе Форма.Номенклатура.Доступность(1); Форма.Количество.Доступность(1); КонецЕсли; КонецПроцедуры // ПриИзмененииШтрихКода() //****************************************************************************** // ПриИзмененииНоменклатуры() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога // Колонка "Номенклатура" спецификации документа // // Описание: // Производит необходимые действия при смене позиции номенклатуры в строке документа. // Процедура ПриИзмененииНоменклатуры() Перем ВремКоэфф, ВремЦена, НоваяНоменклатура; Перем ЦенаЦены, ЕдЦены, ВалютаЦены, ТипЦен; Если (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга) или (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа) или (Склад.РозничныйСклад = 0) Тогда // Процедуру "глПересчетТаблЧасти" не вызываем т.к. необходимо заполнить цену из справочника, // а реквизита шапки "ТипЦен" в этом документе нет. Если ПустоеЗначение(Номенклатура) = 1 Тогда Единица = 0; Коэффициент = 0; Цена = 0; Количество = 0; Сумма = 0; Возврат; КонецЕсли; НоваяНоменклатура = 0; Если ПустоеЗначение(Единица) = 1 Тогда НоваяНоменклатура = 1; ИначеЕсли Номенклатура <> Единица.Владелец Тогда НоваяНоменклатура = 1; КонецЕсли; Если НоваяНоменклатура = 0 Тогда Возврат; КонецЕсли; Если Номенклатура <> Номенклатура.ОсновнаяЕдиница.Владелец Тогда Предупреждение("Для позиции номенклатуры """ + СокрЛП(Номенклатура) + """ указана основная единица измерения, принадлежащая другому элементу справочника Номенклатура.", 60); Возврат; КонецЕсли; Единица = Номенклатура.ОсновнаяЕдиница; Коэффициент = Единица.Коэффициент; ТипЦен = Константа.РозничныйТипЦен; Если ПустоеЗначение(ТипЦен) = 1 Тогда Возврат; КонецЕсли; Если глВернутьЦену(Номенклатура, ТипЦен, ДатаДок, ЦенаЦены, ЕдЦены, ВалютаЦены) <> 1 Тогда Возврат; // для товара цены нет КонецЕсли; Единица = ЕдЦены; Коэффициент = ЕдЦены.Коэффициент; глПересчитатьЦенуВДокументе(Контекст, 0, 0, ЦенаЦены, ВалютаЦены, ТипЦен.ЦенаВклНП, ТипЦен.ЦенаВклНДС); Сумма = Цена * Количество * (1 - Скидка.Процент / 100); Иначе глПересчетТаблЧасти(Контекст, Форма.ТекущаяКолонка(), СписокПараметров); КонецЕсли; ШтрихКод = Единица.ШтрихКод; // для услуг и работ цены можно редактировать, иначе нужно выбирать из остатков регистра Если (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга) или (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа) или (Склад.РозничныйСклад = 0) Тогда Форма.Цена.Редактирование(1); Иначе Форма.Цена.Редактирование(0); КонецЕсли; КонецПроцедуры // ПриИзмененииНоменклатуры() //****************************************************************************** // РасчетСдачи() // // Параметры: // Нет // // Возвращаемое значение: // Сумма сдачи // // Вызывается из формул элементов диалога: // Надпись "Сдача". // // Описание: // Вычисляет сумму сдачи. // Функция РасчетСдачи() ВремСумма = Итог("Сумма"); ВремСдача = Макс(Получено - ВремСумма, 0); Если (СтараяСумма <> ВремСумма) ИЛИ (СтараяПолучено <> Получено) Тогда СтараяСумма = ВремСумма; СтараяПолучено = Получено; Попытка глДПВывестиСтроки(глФРМ(ВремСумма,,""), глФРМ(ВремСдача,,"")); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; Если (Получено < ВремСумма) Тогда ВремСдача = "-" + (ВремСумма - Получено); КонецЕсли; Возврат (глФРМ(ВремСдача)); КонецФункции // РасчетСдачи() //****************************************************************************** // ЗаполнениеПоДокументуОснованию() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога: // // Описание: // Производит заполнение документа по документу - основанию. // Функция ЗаполнениеПоДокументуОснованию() Если ДокОснование.Выбран()=0 Тогда Возврат "Документ - основание не выбран!"; КонецЕсли; ВидОсн = ДокОснование.Вид(); Если (ВидОсн <> "ЧекККМ") Тогда Возврат "Неверный вид документа - основания!"; КонецЕсли; // вид ДокОснования Если ДокОснование.ВидОперации = Перечисление.ВидыОперацийЧекККМ.ЧекНаВозврат Тогда Возврат "На основании документа ""Чек на возврат"" нельзя вводить документы !"; КонецЕсли; ТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений"); ДокОснование.ВыгрузитьТабличнуюЧасть(ТаблицаДокумента); // очищаем наш документ УдалитьСтроки(); ТаблицаДокумента.ВыбратьСтроки(); Пока ТаблицаДокумента.ПолучитьСтроку()=1 Цикл ВремНоменклатура = ТаблицаДокумента.Номенклатура; НоваяСтрока(); Штрихкод = ТаблицаДокумента.Штрихкод; Номенклатура= ТаблицаДокумента.Номенклатура; Количество = ТаблицаДокумента.Количество; Единица = ТаблицаДокумента.Единица; Коэффициент = ТаблицаДокумента.Коэффициент; Цена = глПересчет(ТаблицаДокумента.Цена, ДокОснование.Валюта, ДокОснование.Курс, Валюта, Курс, ДокОснование.Кратность, Кратность); ВремСумма = (Цена * Количество); Сумма = ВремСумма - ВремСумма * Скидка.Процент / 100; КонецЦикла; // по строкам основания Если КоличествоСтрок() = 0 Тогда Возврат "В документе основании не заполнена табличная часть"; КонецЕсли; Возврат ""; КонецФункции // ЗаполнениеПоДокументуОснованию() //***************************************************************************** // ПоКнопкеОснование() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Описание: // Вызывается по кнопке выбора документа основания // Процедура ПоКнопкеОснование() Перем Основание; // если документ основание уже есть, откроем его Если ПустоеЗначение(ДокОснование) = 0 Тогда ОткрытьФорму(ДокОснование); Возврат; КонецЕсли; // если документа - основания нет, позволяем выбрать его Основание = глВыбратьОснование(Контекст); Если ПустоеЗначение(Основание) = 0 Тогда // Выбрали основание глЗаполнитьШапкуНаОсн(Контекст,Основание); ТекстВопроса = "Заполнить по документу основанию?"; Если КоличествоСтрок() <> 0 Тогда ТекстВопроса = ТекстВопроса + РазделительСтрок +" (перед заполнением табличная часть будет очищена)"; КонецЕсли; Если Вопрос(ТекстВопроса, "Да+Нет", 60) <> "Да" Тогда Возврат; КонецЕсли; УдалитьСтроки(); Результат = ЗаполнениеПоДокументуОснованию(); Если ПустоеЗначение(Результат) = 0 Тогда Предупреждение(Результат, 60); КонецЕсли; КонецЕсли; КонецПроцедуры //ПоКнопкеОснование() //****************************************************************************** Функция ПробитьЧекНаККМ() Перем НомерЧека; СписокТоваров = СоздатьОбъект("ТаблицаЗначений"); СписокТоваров.НоваяКолонка("ТовНаим" , "Строка"); СписокТоваров.НоваяКолонка("Цена" , "Число"); СписокТоваров.НоваяКолонка("Количество", "Число"); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл СписокТоваров.НоваяСтрока(); СписокТоваров.ТовНаим = Номенклатура.Наименование; СписокТоваров.Цена = Цена; СписокТоваров.Количество = Количество; КонецЦикла; ПризнВозврата = ?(ВидОперации = Перечисление.ВидыОперацийЧекККМ.Чек, 0, 1); ЧекПробитККМ = глФРПечататьЧек(СписокТоваров, Итог("Сумма"), ?(Получено=0,Итог("Сумма"),Получено), Скидка.Процент, ПризнВозврата, Склад.НомерСекции, НомерЧека); Если ЧекПробитККМ = 1 Тогда ПриЗаписиПерепроводить(0); НомерЧекаККМ = НомерЧека; Записать(); ПриЗаписиПерепроводить(1); // Откроем денежный ящик, если он подключен глДПОткрытьДенежныйЯщик(); КонецЕсли; Возврат ЧекПробитККМ; КонецФункции // ПробитьЧекНаККМ() //****************************************************************************** // // Процедура ВыполнитьНажатиеНаКнопку(ИмяКнопки) Если ИмяКнопки="Записать" Тогда Записать(); ИначеЕсли ИмяКнопки="Провести" Тогда БылПроведен=Проведен(); Если Записать()=1 Тогда // если документ был проведен, то при записи он перепроведется // и поэтому нет необходимости его снова проводить Если БылПроведен=0 Тогда Если ПравоДоступа("ПроведениеДокумента", "Документ.ЧекККМ") = 1 Тогда Провести(); Иначе Предупреждение("Недостаточно прав доступа!"); КонецЕсли; КонецЕсли; КонецЕсли; ИначеЕсли ИмяКнопки="ОК" Тогда БылПроведен=Проведен(); Если Записать()=1 Тогда // если документ был проведен, то при записи он перепроведется // и поэтому нет необходимости его снова проводить Если БылПроведен=0 Тогда Если ПравоДоступа("ПроведениеДокумента", "Документ.ЧекККМ") = 1 Тогда Если Провести()=0 Тогда Возврат; КонецЕсли; Иначе Предупреждение("Недостаточно прав доступа!"); КонецЕсли; КонецЕсли; Иначе Возврат; КонецЕсли; КонецЕсли; Если Проведен()=1 Тогда // пробьем чек на ККМ Если Касса.РежимККМ = Перечисление.РежимыККМ.ФР Тогда Если глФРВкл = 1 Тогда Если ЧекПробитККМ = 0 Тогда Если ПробитьЧекНаККМ() = 0 Тогда // по каким-то причинам Чек не пробит Сообщить("Чек ККМ не пробит!"); Возврат; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; Если ИмяКнопки="ОК" Тогда Форма.Закрыть(1); КонецЕсли; КонецПроцедуры ////////////////////////////////////////////////////////////////////////////////// // ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ // //****************************************************************************** // предопределенная процедура // Процедура ВводНового(Скопирован) АвтоВремяПослеТА(); глЗаполнитьШапку(Контекст, Скопирован); Если Скопирован = 1 Тогда // если скопирован, то надо очистить реквизиты ЧекПробитККМ = 0; НомерЧекаККМ = 0; Возврат; КонецЕсли; Если ПустоеЗначение(Касса) = 1 Тогда Касса = глЗначениеПоУмолчанию("ОсновнаяКасса"); КонецЕсли; Если ПустоеЗначение(Касса) = 1 Тогда Предупреждение("Для текущего пользователя не настроена касса по умолчанию. |Чек не может быть введен.",60); СтатусВозврата(0); Возврат; КонецЕсли; Если (Касса.РежимККМ = Перечисление.РежимыККМ.OffLine) ИЛИ (Касса.РежимККМ = Перечисление.РежимыККМ.OnLine) Тогда // Для режимов OffLine и OnLine выписка чека не имеет смысла, т.к. чек // пробивается в кассе Предупреждение("Для ККМ с режимом работы OffLine или OnLine |Чек не может быть введен.",60); СтатусВозврата(0); Возврат; КонецЕсли; Если ПустоеЗначение(Фирма) = 1 Тогда Предупреждение("Для текущего пользователя не настроена фирма по умолчанию. |Чек не может быть введен.",60); СтатусВозврата(0); Возврат; КонецЕсли; Если ПустоеЗначение(Склад) = 1 Тогда Предупреждение("Для текущего пользователя не настроен склад по умолчанию. |Чек не может быть введен.",60); СтатусВозврата(0); Возврат; КонецЕсли; ВидОперации = Перечисление.ВидыОперацийЧекККМ.Чек; КонецПроцедуры // ВводНового() //****************************************************************************** // предопределенная процедура // Процедура ВводНаОсновании(ДокументОснование) Касса = ДокументОснование.Касса; Если (Касса.РежимККМ = Перечисление.РежимыККМ.OffLine) ИЛИ (Касса.РежимККМ = Перечисление.РежимыККМ.OnLine) Тогда // Для режимов OffLine и OnLine выписка чека не имеет смысла, т.к. чек // пробивается в кассе Предупреждение("Для ККМ с режимом работы OffLine или OnLine |Чек не может быть введен.",60); СтатусВозврата(0); Возврат; КонецЕсли; СинонимДокумента = ПредставлениеВида(); СинонимОснования = ДокументОснование.ПредставлениеВида(); Список = глПолучитьСписокВводимыхНаОсновании(ДокументОснование); Поз = Список.НайтиЗначение(Вид()); // выполним проверку, можно ли вводить документ на основании ДокументОснование Если Поз = 0 Тогда // ДокументОснование не найден в списке разрешенных Предупреждение("Документ """ + СинонимДокумента + """ нельзя вводить на основании """ + СинонимОснования + """", 60); СтатусВозврата(0); Возврат; КонецЕсли; // чек вводится только на основании другого чека, // поэтому он всегда является "чеком на возврат" ВидОперации = Перечисление.ВидыОперацийЧекККМ.ЧекНаВозврат; глЗаполнитьШапкуНаОсн(Контекст,ДокументОснование); Результат = ЗаполнениеПоДокументуОснованию(); Если ПустоеЗначение(Результат) = 0 Тогда Сообщить(Результат); СтатусВозврата(0); КонецЕсли; КонецПроцедуры // ВводНаОсновании() //****************************************************************************** // предопределенная процедура // Процедура ПриОткрытии() // Заполним таблицу для выбора печатной формы НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм); Парам = Форма.Параметр; Если ТипЗначенияСтр(Парам)="СписокЗначений" Тогда Если ПустоеЗначение(Парам.Получить("Команда"))=1 Тогда Сообщить("В форму документа "+Вид()+" передан неверный параметр!","I"); СтатусВозврата(0);Возврат; КонецЕсли; Если Парам.Получить("Команда") = "ПечатьНаПринтер" Тогда КолЭкз = Макс(Число(Парам.Получить("КолЭкз")),1); ПоКнопкеПечать(1,КолЭкз); СтатусВозврата(0);Возврат; ИначеЕсли Парам.Получить("Команда") = "ПечатьНаЭкран" Тогда ПоКнопкеПечать(0); СтатусВозврата(0);Возврат; Иначе Сообщить("В форму документа "+Вид()+" передана неверная команда "+Парам.Получить("Команда")+"!","I"); СтатусВозврата(0);Возврат; КонецЕсли; КонецЕсли; // инициализация модульных переменных, контролирующих выполнение // пересчетов и обновление надписей в форме НачальнаяДатаДокумента = ДатаДок; СтараяСкидка = Скидка; Форма.ШтрихКод .ВыполнятьФормулуТолькоПриИзменении(1); Форма.Номенклатура .ВыполнятьФормулуТолькоПриИзменении(1); Форма.Единица .ВыполнятьФормулуТолькоПриИзменении(1); Форма.Количество .ВыполнятьФормулуТолькоПриИзменении(1); Форма.Цена .ВыполнятьФормулуТолькоПриИзменении(1); Форма.Сумма .ВыполнятьФормулуТолькоПриИзменении(1); глПроверкаРазрешенияРедактирования(Контекст); Если Склад.РозничныйСклад = 1 Тогда // на розн.складе всем разрашаем выбирать цену из списка Форма.Цена.Доступность(1); Форма.Цена.Редактирование(0); КонецЕсли; // если дата проведенного документа больше ТА, то открываем только на просмотр, // так как его все равно не удастся сохранить после редактирования. Если (Проведен() = 1) И (ДатаДок > ПолучитьДатуТА()) Тогда Форма.ТолькоПросмотр(1); КонецЕсли; //Инициализирум список действий по кнопке "Действия" СписокДействий = СоздатьОбъект("СписокЗначений"); СписокДействий.ДобавитьЗначение("Отчет о движениях документа"); СписокДействий.ДобавитьЗначение("Структура подчиненности"); // Если открыли только на просмотр, то надо кнопки сделать недос |
|||
52
Паштет
20.07.13
✎
21:25
|
ФлагСтандОбр = 0;
// регистры рассчитываем, только если хочется редактировать цены вручную Если глПересчетРегистров(Контекст, СписокПараметров) = 0 Тогда Возврат; КонецЕсли; ТовЦена = ""; глПолучитьРозничныйОстатокЦену(Номенклатура, Единица, ОстаткиТМЦ, , ТовЦена); СписокЦен = ЗначениеИзСтроки(ТовЦена); СписокЦен.ВыбратьЗначение(Цена, , , 60,2); глПересчетТаблЧасти(Контекст,"Цена"); КонецЕсли; КонецЕсли; КонецПроцедуры // ПриНачалеВыбораЗначения() //****************************************************************************** //Предопределенная процедура // Процедура ПриРедактированииНовойСтроки() Форма.Номенклатура.Доступность(1); Форма.Количество.Доступность(1); КонецПроцедуры // ПриРедактированииНовойСтроки() //****************************************************************************** //Предопределенная процедура // Процедура ПриЗаписи() Если глМожноЗаписатьДокумент(Контекст)=0 Тогда СтатусВозврата(0); ИначеЕсли глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда СтатусВозврата(0); КонецЕсли; КонецПроцедуры // ПриЗаписи() //****************************************************************************** //Предопределенная процедура // Процедура ПриЗакрытии() глДПВключитьРежимВыводаБегСтроки(); КонецПроцедуры // ПриЗаписи() //****************************************************************************** // Предопределенная процедура // Процедура ОбработкаПодбора(ВыбЗнач, КонтФормыПодбора) // нет ставок налогов, есть скидка глОбработкаПодбора(Контекст, ВыбЗнач, 0, 0, 1); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл ШтрихКод = Единица.ШтрихКод; // прописываем штрих - код КонецЦикла; КонецПроцедуры // ОбработкаПодбора() //****************************************************************************** Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные) // Процедура разбирает штрих-код, считанный сканером // и заполняет строки накладной Перем Упаковка,ТекКоличество, Спецификация; Перем ВремТовар, ВремЕдиница, ВремКоличество, ВремЦена; Перем СтрокаВозврЦена; Если Событие = "BarCodeValue" Тогда Если Форма.ТолькоПросмотр() = 0 Тогда Если ПустоеЗначение(Номенклатура) = 1 Тогда Если НомерСтроки > 0 Тогда УдалитьСтроку(); КонецЕсли; КонецЕсли; Если глПолучитьТоварПоШтрихкоду(Данные, ВремТовар, ВремЕдиница, ВремКоличество) <> 0 Тогда ТаблицаПодбора = СоздатьОбъект("ТаблицаЗначений"); ТаблицаПодбора.НоваяКолонка("Номенклатура"); ТаблицаПодбора.НоваяКолонка("Единица"); ТаблицаПодбора.НоваяКолонка("Количество", "Число"); ТаблицаПодбора.НоваяКолонка("Цена", "Число"); ТаблицаПодбора.НоваяСтрока(); ТаблицаПодбора.Номенклатура = ВремТовар; ТаблицаПодбора.Единица = ВремЕдиница; ТаблицаПодбора.Количество = ВремКоличество; ПараметрыПодбора = СоздатьОбъект("СписокЗначений"); ПараметрыПодбора.ДобавитьЗначение(0, "ЕстьВидТМЦ"); Если (ВремТовар.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга) или (ВремТовар.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа) Тогда ТаблицаПодбора.Цена = глПолучитьЦену(ВремТовар, Константа.РозничныйТипЦен, ДатаДок, ВремЕдиница, Валюта, Курс, Кратность); ПараметрыПодбора.ДобавитьЗначение("ИзСправочника" , "ЦенаВподборе"); ПараметрыПодбора.ДобавитьЗначение(Константа.РозничныйТипЦен, "ТипЦен"); ИначеЕсли Склад.РозничныйСклад = 0 Тогда ТаблицаПодбора.Цена = глПолучитьЦену(ВремТовар, глЗначениеПоУмолчанию("ОсновнойТипЦенПродажи"), ДатаДок, ВремЕдиница, Валюта, Курс, Кратность); ПараметрыПодбора.ДобавитьЗначение("ИзСправочника", "ЦенаВподборе"); ПараметрыПодбора.ДобавитьЗначение(глЗначениеПоУмолчанию("ОсновнойТипЦенПродажи"), "ТипЦен"); Иначе // цена из остатков регистра ТовОстатки = СоздатьОбъект("Регистр.ОстаткиТМЦ"); ФирмаДляОстатковТМЦ = глФирмаДляОстатковТМЦ(Фирма); ТовОстатки.УстановитьЗначениеФильтра("Фирма", ФирмаДляОстатковТМЦ, 2); ТовОстатки.УстановитьЗначениеФильтра("Склад", Склад, 1); глПолучитьРозничныйОстатокЦену(ВремТовар, ВремЕдиница, ТовОстатки, , СтрокаВозврЦена); СписВозврЦен = ЗначениеИзстроки(СтрокаВозврЦена); Если СписВозврЦен.РазмерСписка() = 1 Тогда ТаблицаПодбора.Цена = глПересчет(СписВозврЦен.ПолучитьЗначение(1), глРубли, ДатаДок, Валюта, Курс,, Кратность); ИначеЕсли СписВозврЦен.РазмерСписка() > 1 Тогда Если СписВозврЦен.ВыбратьЗначение(ВремЦена,"Выберите цену для товара " + ВремТовар.Наименование, , 60) = 1 Тогда ТаблицаПодбора.Цена = глПересчет(ВремЦена, глРубли, ДатаДок, Валюта, Курс,, Кратность); Иначе ТаблицаПодбора.Цена = 0; КонецЕсли; Иначе ТаблицаПодбора.Цена = 0; КонецЕсли; ПараметрыПодбора.ДобавитьЗначение("Розница", "ЦенаВподборе"); КонецЕсли; ПараметрыПодбора.ДобавитьЗначение(ТаблицаПодбора , "ТаблицаПодбора"); глОбработкаПодбора(Контекст, ПараметрыПодбора, 0, 0, 1); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл ШтрихКод = Единица.ШтрихКод; // прописываем штрих - код КонецЦикла; КонецЕсли; КонецЕсли; // Обработка закончена. Готовы к получению нового штрихкода. глСканерПосылкаДанных(1); Иначе глОбработкаВнешнегоСобытия(Источник, Событие, Данные); КонецЕсли; КонецПроцедуры // ОбработкаВнешнегоСобытия() Процедура ПриВводеОплаты() Если Получено <> 0 Тогда ПоКнопкеПечать(); КонецЕсли; КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ТЕЛО МОДУЛЯ ФОРМЫ // НомерТекущейФормы = 0; ТаблицаПечФорм = СоздатьОбъект("ТаблицаЗначений"); ТаблицаПечФорм.НоваяКолонка("Название","Строка",,,,30); ТаблицаПечФорм.НоваяКолонка("Файл","Строка",,,"Файл",10); ТаблицаПечФорм.НоваяКолонка("Кнопка","Строка",,,,10); ТаблицаПечФорм.НоваяКолонка("ФайлОписания","Строка"); // добавим информацию о встроенной форме ТаблицаПечФорм.НоваяСтрока(); ТаблицаПечФорм.Название = "Печатная форма товарного чека"; ТаблицаПечФорм.Кнопка = "Чек"; // Для выбора цен ОбщРег = СоздатьОбъект("Регистры"); ОстаткиТМЦ = ОбщРег.ОстаткиТМЦ; СписокПараметров = СоздатьОбъект("СписокЗначений"); СписокПараметров.Установить("ОбщРег" , ОбщРег); СписокПараметров.Установить("ОстаткиТМЦ" , ОстаткиТМЦ); СписокПараметров.Установить("ФильтрПоСкладу" , ПолучитьПустоеЗначение("Справочник.Склады")); СписокПараметров.Установить("ФильтрПоФирме" , ПолучитьПустоеЗначение("Справочник.Фирмы")); СписокПараметров.Установить("ПозицияРегистра" , 0); СтараяСумма = -1; СтараяПолучено = -1; |
|||
53
Паштет
20.07.13
✎
21:26
|
та ничего такого и не ворочал особо))))
|
|||
54
Voronve
20.07.13
✎
21:29
|
По0чему в ПриВводеОплаты() вызываешь ПоКнопкеПечать() а не Печать() ?
|
|||
55
КапЛей
20.07.13
✎
21:30
|
А чего сразу глобальник не выложил? Ошибка в нём, 146%!
|
|||
56
Voronve
20.07.13
✎
21:31
|
(55) Я попросил
|
|||
57
Паштет
20.07.13
✎
21:31
|
(54) я сразу Печать() попробовал, то же самое...
|
|||
58
Паштет
20.07.13
✎
21:31
|
(55) я вообще глобальник не трогал
|
|||
59
Voronve
20.07.13
✎
21:34
|
(57) Если пишешь вызов Печать() в ПриВводеОплаты() (42) соханяется ?
|
|||
60
Паштет
20.07.13
✎
21:36
|
(59) да, та же мутня
|
|||
61
Паштет
20.07.13
✎
21:37
|
Вообще не пойму при чем тут эта ошибка))) ведь если мышкой тыкаю на кнопку "печать" сразу выводит на печать и не ругается
|
|||
62
Voronve
20.07.13
✎
21:43
|
(60) Сколько печатных форма у дока "Чек ККМ" ?
|
|||
63
Паштет
20.07.13
✎
21:46
|
(62) две
|
|||
64
Voronve
20.07.13
✎
21:49
|
стуканись в аську
|
|||
65
Паштет
20.07.13
✎
22:03
|
(64) не достучусь к тебе чтоть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |