Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

HELP

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №11
 
23.09.2009 08:08

А в какой момент нужно чтобы устанавливалась единица?

133
читатель
офлайн
Дата регистрации: 22.09.2009
Сообщений: 13
Пост №12
 
23.09.2009 08:11

при считывания штрих сканером в Чек ККМ в колонке количество автоматически подставляется "0" а нужно "1"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №13
 
23.09.2009 08:56

Ищите в форме документа "Чек ККМ", а в ней процедуру "ОбработкаВнешнегоСобытия".

133
читатель
офлайн
Дата регистрации: 22.09.2009
Сообщений: 13
Пост №14
 
23.09.2009 09:02

а дальше если можно распишите по подробней что и как делать очень нужно!!!!<br> заранее благадарю.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №15
 
23.09.2009 09:54

Текст процедуры выложите сюда, попробую помочь.

133
читатель
офлайн
Дата регистрации: 22.09.2009
Сообщений: 13
Пост №16
 
23.09.2009 13:57

"///////////////////////////////////////////////////////////­/////////////////////<br>// ПЕРЕМЕННЫЕ МОДУЛЯ<br>//<br>Перем СписокДействий;       // для механизма кнопки "Действия"<br><br>Перем ТаблицаПечФорм;       // список печатных форм документа<br>Перем НомерТекущейФормы;<br><br>Перем НачальнаяДатаДокумента; // для механизма контроля уникальности номеров<br>Перем СтараяСкидка;<br><br>Перем ТекущийДолг;<br><br>Перем ОбщРег, ОстаткиТМЦ, СписокПараметров; <br>                              // для выбора розничных цен, по которым есть остатки<br><br>Перем СтараяСумма, СтараяПолучено;<br><br>////////////////////////////////////////////////////­////////////////////////////<br>// ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ<br>//                               <br>//******************************************************************************<br>// УправлениеВидимостью()<br>//<br>// Параметры:<br>// Нет<br>//<br>// Возвращаемое значение:<br>// Нет<br>//<br>// Вызывается из формул элементов диалога:<br>//<br>// Описание:<br>// Управление видимостью элементов диалога.<br>//<br>Процедура УправлениеВидимостью()<br> <br> Форма.СуммаСкидки.Видимость(Скидка.Выбран());<br> <br>КонецПроцедуры // УправлениеВидимостью()<br><br>//******************************************************************************<br>// ОбновитьНадписи()<br>//<br>// Описание:<br>// Обновляет текст информационных надписей в форме документа<br>Процедура ОбновитьНадписи() <br> <br> Форма.ТекстФирмы .Заголовок(глСтрокаФирмы (Контекст));<br> Форма.ТекстСклада .Заголовок(глСтрокаСклада (Склад));<br> <br>КонецПроцедуры //ОбновитьНадписи() <br><br>//******************************************************************************<br>// ВывестиПолноеНаименованиеВалюты()<br>//<br>// Параметры:<br>// Нет<br>//<br>// Возвращаемое значение:<br>// Строка - полное наименование валюты или строку "Валюта не задана"<br>//<br>// Вызывается из формул элементов диалога:<br>//<br>// Описание:<br>// Возвращает полное наименоавние валюты документа <br>//<br>Функция ВывестиПолноеНаименованиеВалюты()<br> Если ПустоеЗначение(Валюта) = 1 Тогда<br> Возврат "Валюта не задана";<br> Иначе<br> Возврат Валюта.ПолнНаименование; <br> КонецЕсли;                         <br>КонецФункции<br>                                     <br>//*****************************************************************************<br>// ЗаголовокФормы()<br>//<br>// Параметры: <br>// Нет<br>//<br>// Возвращаемое значение: <br>// Название операции<br>//<br>// Описание:<br>// Формирует название операции и заголовок формы диалога<br>//<br>Функция ЗаголовокФормы() <br> <br> Перем Заголовок, Название;<br> <br> Заголовок = глНазваниеДОкументаВЖурнале(Контекст);<br> Название = Заголовок+" №";                         <br> <br> Если Выбран() = 1 Тогда <br> Если Проведен() = 1 Тогда<br> Заголовок = Заголовок + ". Проведен";<br> Иначе<br> Заголовок = Заголовок + ". Не проведен";<br> КонецЕсли;<br> Иначе<br> Заголовок = Заголовок + ". Новый";<br> КонецЕсли;<br> Форма.Заголовок(Заголовок);             <br> Возврат Название;<br> <br>КонецФункции // ЗаголовокФормы       <br><br>//******************************************************************************<br>// ПоКнопкеПодбор()<br>//<br>// Параметры:<br>// нет.<br>// Возвращаемое значение:<br>// нет.<br>// Описание:<br><br>Процедура ПоКнопкеПодбор()<br> <br> Параметры = СоздатьОбъект("СписокЗначений");<br> Параметры.ДобавитьЗначение(Фирма,       "Фирма");<br> Параметры.ДобавитьЗначение(Склад,       "Склад");<br> Параметры.ДобавитьЗначение(0,             "ЕстьВидТМЦ");<br> Параметры.ДобавитьЗначение(Валюта,       "Валюта");<br> Параметры.ДобавитьЗначение(Курс,            "Курс");<br> Параметры.ДобавитьЗначение(Кратность,       "Кратность");<br> <br> Если Склад.РозничныйСклад = 0 Тогда<br> Параметры.ДобавитьЗначение("ИзСправочника", "ЦенаВподборе");<br> Параметры.ДобавитьЗначение(глЗначениеПоУмолчанию("ОсновнойТипЦенПродажи"), "ТипЦен");<br> Иначе<br> Параметры.ДобавитьЗначение("Розница",       "ЦенаВподборе");<br> КонецЕсли;<br><br> Если Выбран() = 0 Тогда<br> Параметры.ДобавитьЗначение("Дата", "ТипГраницы");<br> Параметры.ДобавитьЗначение(ДатаДок, "ЗначениеГраницы");<br> Иначе<br> Параметры.ДобавитьЗначение("Позиция",       "ТипГраницы");<br> Параметры.ДобавитьЗначение(ПолучитьПозицию(), "ЗначениеГраницы");<br> КонецЕсли;<br> <br> Параметры.ДобавитьЗначение("Подбор номенклатуры в документ " + ПредставлениеВида() + " № " + НомерДок, "Заголовок");<br> глПодбор(Контекст, Параметры);<br> <br>КонецПроцедуры // ПоКнопкеПодбор()<br><br>//******************************************************************************<br>// Печать(СразуНаПринтер, КолЭкз)<br>//<br>// Параметры:<br>// СразуНаПринтер - (1) если печать на принтер, (0) - с предварительным просмотром<br>// КолЭкз - количество экземпляров печати<br>//<br>// Возвращаемое значение:<br>// нет.<br>//<br>// Описание:<br>//<br>Процедура Печать(СразуНаПринтер = 0,КолЭкз = 1)<br> Перем ПечТаблица, ВысотаШапки;<br> <br> ПечТаблица = СоздатьОбъект("Таблица");<br> <br> // выводим шапку документа<br> ПечТаблица.ВывестиСекцию("Шапка");<br> // шапку повторяем на каждой странице<br> ВысотаШапки = ПечТаблица.ВысотаСекции("Шапка");<br> ПечТаблица.ПовторятьПриПечатиСтроки(1, ВысотаШапки);<br> <br> // выводим товары<br> ВыбратьСтроки();<br> <br> Пока ПолучитьСтроку() = 1 Цикл<br> ПечТаблица.ВывестиСекцию("Строка");<br> КонецЦикла;<br> <br> // выводим подвал<br> ПечТаблица.ВывестиСекцию("Подвал");<br> <br> Если СразуНаПринтер = 0 Тогда<br> // покажем результирующую таблицу<br> ПечТаблица.Опции(0, 0, ВысотаШапки, 0, "ПараметрыПечатиЧека", "ПараметрыПечатиЧека");<br><br> Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда<br> ПечТаблица.Защита(1);<br> Иначе<br> ПечТаблица.Защита(0);<br> КонецЕсли;<br> ПечТаблица.ТолькоПросмотр(1);<br><br> ПечТаблица.Показать(глНазваниеДокументаВжурнале(Контекст),""""); <br> Иначе <br> ПечТаблица.ПараметрыСтраницы(,,,,,,,,,1,,);<br> ПечТаблица.КоличествоЭкземпляров(КолЭкз);<br> ПечТаблица.Напечатать(0);<br> КонецЕсли; <br> <br>КонецПроцедуры // Печать()<br><br>//******************************************************************************<br>// ПоКнопкеПечать()<br>// <br>// Параметры: <br>// Нет<br>//<br>// Описание:<br>// Вызывается по кнопке "Печать" <br>//<br>Процедура ПоКнопкеПечать(СразуНаПринтер = 0,КолЭкз = 1)<br> <br> // проверим полномочия печати непроведенных документов<br> Если (Проведен()=0) <br> Или ((Проведен()=1) И (Модифицированность()=1)) Тогда<br> Если глПолучитьПолномочие("РазрешитьПечатьНепроведенныхДокументов") = 0 Тогда<br> Предупреждение("Недостаточно полномочий для печати непроведенного документа!", 60);<br> Возврат;<br> КонецЕсли;<br> КонецЕсли;<br><br> Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда<br> НомерТекущейФормы = 1;<br> Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));<br> КонецЕсли;<br> <br> Если НомерТекущейФормы = 1 Тогда<br> Печать(СразуНаПринтер, КолЭкз);<br> Иначе<br> Параметры = СоздатьОбъект("СписокЗначений");<br> Параметры.ДобавитьЗначение(глВзятьКонтекст(Контекст), "Контекст");<br> Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");<br> Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");<br> <br> ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));<br> КонецЕсли;<br> <br>КонецПроцедуры // ПоКнопкеПечать()<br><br>//******************************************************************************<br>// ПоКнопкеВыборПечатнойФормы()<br>//<br>// Параметры:<br>// нет. <br>//<br>// Возвращаемое значение:<br>// нет.<br>//<br>// Описание:<br>// - открывает список для выбора способа печати. <br>// - формирует таблицу по выбранному способу.<br>//<br>Процедура ПоКнопкеВыборПечатнойФормы()<br> <br> ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм);<br> Если ВыбНомер > 0 Тогда<br> НомерТекущейФормы = ВыбНомер;<br> Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));<br> ПоКнопкеПечать();<br> КонецЕсли;<br><br>КонецПроцедуры // ПоКнопкеВыборПечатнойФормы()       <br><br>//******************************************************************************<br>// ПриИзмененииСкидки()<br>//<br>// Параметры:<br>// Нет<br>//<br>// Возвращаемое значение:<br>// Нет<br>//<br>// Вызывается из формул элементов диалога:<br>// Поле "Скидка".<br>//<br>// Описание:<br>// Если изменилась скидка - пересчитываем суммы.<br>//<br>Процедура ПриИзмененииСкидки()<br> <br> Если СтараяСкидка<>Скидка Тогда<br> <br> глПересчитатьСкидки(Контекст);<br> СтараяСкидка = Скидка;<br> КонецЕсли;                  <br> <br> УправлениеВидимостью();<br> <br>КонецПроцедуры // ПриИзмененииСкидки()<br><br><br>// *****************************************************************************<br>// ПолучитьТовар()<br>//<br>// Параметры:<br>// ШтрихКод - код/штрих-код искомого товара<br>// ВремТовар - возвращаемый товар<br>// ВремЕдиница - возвращаемая единица измерения<br>//<br>// Возвращаемое значение:<br>// 1 - товар найден, иначе 0<br>//<br>// Вызывается из:<br>// процедуры ПриИзмененииШтрихКода().<br>//<br>// Описание:<br>// Ищет товар по преданному штрих-коду/коду.<br>//<br>Функция ПолучитьТовар(ШтрихКод,ВремТовар,ВремЕдиница)<br> Рез = 0;<br> <br> СпрЕдиницы = СоздатьОбъект("Справочник.Единицы");<br> СпрТовар = СоздатьОбъект("Справочник.Номенклатура");<br> Если СпрЕдиницы.НайтиПоРеквизиту("Штрихкод", ШтрихКод, 1) = 1 Тогда<br> ВремТовар = СпрЕдиницы.Владелец;<br> ВремЕдиница = СпрЕдиницы.ТекущийЭлемент();<br> Рез       = 1;<br> ИначеЕсли СпрТовар.НайтиПоКоду(ШтрихКод,0) = 1 Тогда<br> ВремТовар = СпрТовар.ТекущийЭлемент();<br> ВремЕдиница = СпрТовар.БазоваяЕдиница;<br> Рез       = 1;<br> Иначе<br> ВремКод = ШтрихКод;<br> Пока СтрДлина(ВремКод)<8 Цикл<br> ВремКод = глДополнитьСтрокуЛ(ВремКод, "0", СтрДлина(ВремКод)+1);<br> Если СпрТовар.НайтиПоКоду(ВремКод,0) = 1 Тогда<br> ВремТовар = СпрТовар.ТекущийЭлемент();<br> ВремЕдиница = СпрТовар.БазоваяЕдиница;<br> Рез       = 1;<br> Прервать;<br> КонецЕсли;<br> КонецЦикла;<br> КонецЕсли; <br> <br> Возврат Рез;<br>КонецФункции // ПолучитьТовар()<br><br>//******************************************************************************<br>// ПриИзмененииШтрихКода()<br>//<br>// Параметры:<br>// Нет<br>//<br>// Возвращаемое значение:<br>// Нет<br>//<br>// Вызывается из формул элементов диалога:<br>// Штрих - код.<br>//<br>// Описание:<br>// При изменении штрих - кода надо найти товар по введенному коду.<br>//<br>Процедура ПриИзмененииШтрихКода()<br> Перем ВремТовар,ВремЕдиница;<br> <br> Если ПустоеЗначение(ШтрихКод)=0 Тогда<br> Если ПолучитьТовар(СокрЛП(ШтрихКод), ВремТовар, ВремЕдиница) = 1 Тогда<br> Номенклатура = ВремТовар;<br> Единица      = ВремЕдиница;<br> Коэффициент = Единица.Коэффициент;<br> <br> Если глПересчетРегистров(Контекст, СписокПараметров) = 0 Тогда<br> Возврат;<br> КонецЕсли;<br> ТовЦена = """";<br> <br> Если (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга)<br> или (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа)<br> или (Склад.РозничныйСклад = 0) Тогда<br> <br> Цена = глПолучитьЦену(Номенклатура, Константа.РозничныйТипЦен, ДатаДок, Единица, Валюта, Курс, Кратность);<br> <br> Иначе // цена из остатков регистра<br> глПолучитьРозничныйОстатокЦену(Номенклатура, Единица, ОстаткиТМЦ, , ТовЦена);<br> СписокЦен = ЗначениеИзСтроки(ТовЦена);<br> Если СписокЦен.РазмерСписка() = 0 Тогда<br> Цена = 0;<br> Иначе<br> Цена = СписокЦен.ПолучитьЗначение(1);<br> КонецЕсли;<br> <br> КонецЕсли;<br> <br> глПересчетТаблЧасти(Контекст,"Единица"); // пересчитаем от выбранной единицы<br> Форма.Номенклатура.Доступность(1);<br> Форма.Количество.Доступность(1);<br> Иначе<br> Предупреждение("Товар со штрих-кодом "+СокрЛП(ШтрихКод)+" не найден!", 60);<br> Форма.Номенклатура.Доступность(0);<br> Форма.Количество.Доступность(0);<br> КонецЕсли;<br> Иначе<br> Форма.Номенклатура.Доступность(1);<br> Форма.Количество.Доступность(1);<br> КонецЕсли;<br> <br>КонецПроцедуры // ПриИзмененииШтрихКода()<br>                                           <br>//******************************************************************************<br>// ПриИзмененииНоменклатуры()<br>//<br>// Параметры: <br>// Нет<br>//<br>// Возвращаемое значение:<br>// Нет<br>//<br>// Вызывается из формул элементов диалога<br>// Колонка "Номенклатура" спецификации документа<br>//<br>// Описание:<br>// Производит необходимые действия при смене позиции номенклатуры в строке документа.<br>//<br>Процедура ПриИзмененииНоменклатуры()<br> <br> Перем ВремКоэфф, ВремЦена, НоваяНоменклатура;<br> Перем ЦенаЦены, ЕдЦены, ВалютаЦены, ТипЦен;<br> <br> Если (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга)<br> или (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа)<br> или (Склад.РозничныйСклад = 0) Тогда<br> <br> // Процедуру "глПересчетТаблЧасти" не вызываем т.к. необходимо заполнить цену из справочника,<br> // а реквизита шапки "ТипЦен" в этом документе нет. <br> Если ПустоеЗначение(Номенклатура) = 1 Тогда<br> Единица = 0;<br> Коэффициент = 0;                  <br> Цена = 0;<br> Количество = 0;<br> Сумма = 0; <br> Возврат;<br> КонецЕсли;<br> <br> НоваяНоменклатура = 0;<br> Если ПустоеЗначение(Единица) = 1 Тогда<br> НоваяНоменклатура = 1;<br> ИначеЕсли Номенклатура <> Единица.Владелец Тогда<br> НоваяНоменклатура = 1;<br> КонецЕсли;<br> Если НоваяНоменклатура = 0 Тогда<br> Возврат;<br> КонецЕсли;<br> <br> Если Номенклатура <> Номенклатура.ОсновнаяЕдиница.Владелец Тогда<br> Предупреждение("Для позиции номенклатуры """"" + СокрЛП(Номенклатура) + <br>              """"" указана основная единица измерения, принадлежащая другому элементу справочника Номенклатура.", 60);<br> Возврат;<br> КонецЕсли;<br> <br> Единица = Номенклатура.ОсновнаяЕдиница;<br> Коэффициент = Единица.Коэффициент; <br> <br> ТипЦен = Константа.РозничныйТипЦен;<br> Если ПустоеЗначение(ТипЦен) = 1 Тогда<br> Возврат;<br> КонецЕсли;<br> <br> Если глВернутьЦену(Номенклатура, ТипЦен, ДатаДок, ЦенаЦены, ЕдЦены, ВалютаЦены) <> 1 Тогда<br> Возврат; // для товара цены нет<br> КонецЕсли;<br> <br> Единица = ЕдЦены;<br> Коэффициент = ЕдЦены.Коэффициент; <br> <br> глПересчитатьЦенуВДокументе(Контекст, 0, 0, ЦенаЦены, ВалютаЦены, <br>                          ТипЦен.ЦенаВклНП, ТипЦен.ЦенаВклНДС);<br> <br> Сумма = Цена * Количество * (1 - Скидка.Процент / 100);<br> Иначе<br> глПересчетТаблЧасти(Контекст, Форма.ТекущаяКолонка(), СписокПараметров);<br> КонецЕсли;<br> <br> ШтрихКод = Единица.ШтрихКод; <br><br> // для услуг и работ цены можно редактировать, иначе нужно выбирать из остатков регистра<br> Если (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга)<br> или (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа)<br> или (Склад.РозничныйСклад = 0) Тогда<br> Форма.Цена.Редактирование(1);<br> Иначе<br> Форма.Цена.Редактирование(0);<br> КонецЕсли;<br> <br>КонецПроцедуры // ПриИзмененииНоменклатуры()<br><br>//******************************************************************************<br>// РасчетСдачи()<br>//<br>// Параметры:<br>// Нет<br>//<br>// Возвращаемое значение:<br>// Сумма сдачи<br>//<br>// Вызывается из формул элементов диалога:<br>// Надпись "Сдача".<br>//<br>// Описание:<br>// Вычисляет сумму сдачи.<br>//<br>Функция РасчетСдачи()<br> ВремСумма = Итог("Сумма");<br> ВремСдача = Макс(Получено - ВремСумма, 0);<br> <br> Если (СтараяСумма <> ВремСумма) ИЛИ (СтараяПолучено <> Получено) Тогда<br> СтараяСумма = ВремСумма;<br> СтараяПолучено = Получено;<br> Попытка<br> глДПВывестиСтроки(глФРМ(ВремСумма,,""""), глФРМ(ВремСдача,,""""));<br> Исключение<br> Сообщить(ОписаниеОшибки());<br> КонецПопытки;<br> КонецЕсли;<br> <br> Возврат (глФРМ(ВремСдача)); <br>КонецФункции // РасчетСдачи()<br><br>//******************************************************************************<br>// ЗаполнениеПоДокументуОснованию()<br>//<br>// Параметры:<br>// Нет<br>//<br>// Возвращаемое значение:<br>// Нет<br>//<br>// Вызывается из формул элементов диалога:<br>//<br>// Описание:<br>// Производит заполнение документа по документу - основанию.<br>//<br>Функция ЗаполнениеПоДокументуОснованию()<br> <br> Если ДокОснование.Выбран()=0 Тогда<br> Возврат "Документ - основание не выбран!";<br> КонецЕсли;<br> <br> ВидОсн = ДокОснование.Вид();<br> <br> Если (ВидОсн <> "ЧекККМ") Тогда<br> Возврат "Неверный вид документа - основания!";<br> КонецЕсли; // вид ДокОснования<br> <br> Если ДокОснование.ВидОперации = Перечисление.ВидыОперацийЧекККМ.ЧекНаВозврат Тогда<br> Возврат "На основании документа """"Чек на возврат"""" нельзя вводить документы !";<br> КонецЕсли;<br> <br> ТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений");<br> ДокОснование.ВыгрузитьТабличнуюЧасть(ТаблицаДокумента);<br> <br> // очищаем наш документ<br> УдалитьСтроки();<br> <br> ТаблицаДокумента.ВыбратьСтроки();<br> Пока ТаблицаДокумента.ПолучитьСтроку()=1 Цикл<br> <br> ВремНоменклатура = ТаблицаДокумента.Номенклатура;<br> НоваяСтрока();<br> Штрихкод = ТаблицаДокумента.Штрихкод;<br> Номенклатура= ТаблицаДокумента.Номенклатура;<br> Количество = ТаблицаДокумента.Количество;<br> Единица = ТаблицаДокумента.Единица;<br> Коэффициент = ТаблицаДокумента.Коэффициент;<br> Цена = глПересчет(ТаблицаДокумента.Цена,<br>                          ДокОснование.Валюта,<br> ДокОснование.Курс,<br> Валюта,<br> Курс,<br> ДокОснование.Кратность,<br> Кратность);<br> ВремСумма = (Цена * Количество);<br> Сумма = ВремСумма - ВремСумма * Скидка.Процент / 100;<br> КонецЦикла; // по строкам основания<br> <br> Если КоличествоСтрок() = 0 Тогда<br> Возврат "В документе основании не заполнена табличная часть";<br> КонецЕсли;<br> <br> Возврат """";<br> <br>КонецФункции // ЗаполнениеПоДокументуОснованию()<br><br>//*****************************************************************************<br>// ПоКнопкеОснование()<br>// <br>// Параметры: <br>// Нет<br>//<br>// Возвращаемое значение: <br>// Нет<br>//<br>// Описание:<br>// Вызывается по кнопке выбора документа основания                  <br>//<br>Процедура ПоКнопкеОснование()<br> <br> Перем Основание;<br> <br> // если документ основание уже есть, откроем его<br> Если ПустоеЗначение(ДокОснование) = 0 Тогда<br> ОткрытьФорму(ДокОснование);<br> Возврат;<br> КонецЕсли;<br> <br> // если документа - основания нет, позволяем выбрать его<br> Основание = глВыбратьОснование(Контекст);<br> Если ПустоеЗначение(Основание) = 0 Тогда<br> // Выбрали основание<br> глЗаполнитьШапкуНаОсн(Контекст,Основание);<br> <br> ТекстВопроса = "Заполнить по документу основанию?";<br> Если КоличествоСтрок() <> 0 Тогда<br> ТекстВопроса = ТекстВопроса + РазделительСтрок +" (перед заполнением табличная часть будет очищена)";<br> КонецЕсли;<br> <br> Если Вопрос(ТекстВопроса, "Да+Нет", 60) <> "Да" Тогда<br> Возврат;<br> КонецЕсли;<br> <br> УдалитьСтроки();<br> Результат = ЗаполнениеПоДокументуОснованию();<br> Если ПустоеЗначение(Результат) = 0 Тогда<br> Предупреждение(Результат, 60);<br> КонецЕсли;<br> <br> КонецЕсли;<br>                                     <br>КонецПроцедуры //ПоКнопкеОснование()      <br>                                           <br>//******************************************************************************<br>Функция ПробитьЧекНаККМ()<br> Перем НомерЧека;<br> <br> СписокТоваров = СоздатьОбъект("ТаблицаЗначений");<br> СписокТоваров.НоваяКолонка("ТовНаим" , "Строка");<br> СписокТоваров.НоваяКолонка("Цена"      , "Число");<br> СписокТоваров.НоваяКолонка("Количество", "Число");<br> <br> ВыбратьСтроки();<br> Пока ПолучитьСтроку() = 1 Цикл<br> СписокТоваров.НоваяСтрока();<br> СписокТоваров.ТовНаим = Номенклатура.Наименование;<br> СписокТоваров.Цена       = Цена;<br> СписокТоваров.Количество = Количество;<br> КонецЦикла;<br> <br> ПризнВозврата = ?(ВидОперации = Перечисление.ВидыОперацийЧекККМ.Чек, 0, 1);<br> ЧекПробитККМ = глФРПечататьЧек(СписокТоваров, Итог("Сумма"), ?(Получено=0,Итог("Сумма"),Получено), Скидка.Процент, ПризнВозврата, Склад.НомерСекции, НомерЧека);<br><br> Если ЧекПробитККМ = 1 Тогда<br> ПриЗаписиПерепроводить(0);<br> НомерЧекаККМ = НомерЧека;<br> Записать();<br> ПриЗаписиПерепроводить(1);<br> <br> // Откроем денежный ящик, если он подключен<br> глДПОткрытьДенежныйЯщик();<br> КонецЕсли;<br> <br> Возврат ЧекПробитККМ;<br> <br>КонецФункции // ПробитьЧекНаККМ()<br><br>//******************************************************************************<br>//<br>//<br>Процедура ВыполнитьНажатиеНаКнопку(ИмяКнопки)<br> <br> Если ИмяКнопки="Записать" Тогда<br> <br> Записать();<br> <br> ИначеЕсли ИмяКнопки="Провести" Тогда<br> <br> БылПроведен=Проведен(); <br> Если Записать()=1 Тогда<br> <br> // если документ был проведен, то при записи он перепроведется<br> // и поэтому нет необходимости его снова проводить<br> Если БылПроведен=0 Тогда<br> Если ПравоДоступа("ПроведениеДокумента", "Документ.ЧекККМ") = 1 Тогда<br> Провести();                                     <br> Иначе<br> Предупреждение("Недостаточно прав доступа!");<br> КонецЕсли;<br> КонецЕсли;<br> <br> КонецЕсли;<br> <br> ИначеЕсли ИмяКнопки="ОК" Тогда<br> <br> БылПроведен=Проведен(); <br> Если Записать()=1 Тогда<br><br> // если документ был проведен, то при записи он перепроведется<br> // и поэтому нет необходимости его снова проводить<br> Если БылПроведен=0 Тогда<br> Если ПравоДоступа("ПроведениеДокумента", "Документ.ЧекККМ") = 1 Тогда<br> Если Провести()=0 Тогда<br> Возврат;<br> КонецЕсли;<br> Иначе<br> Предупреждение("Недостаточно прав доступа!");<br> КонецЕсли;<br> КонецЕсли;<br>            <br> Иначе<br> <br> Возврат;<br> <br> КонецЕсли;<br> <br> КонецЕсли; <br> <br> Если Проведен()=1 Тогда<br> <br> // пробьем чек на ККМ<br> Если Касса.РежимККМ = Перечисление.РежимыККМ.ФР Тогда<br> Если глФРВкл = 1 Тогда<br> Если ЧекПробитККМ = 0 Тогда<br> Если ПробитьЧекНаККМ() = 0 Тогда<br> <br> // по каким-то причинам Чек не пробит<br> Сообщить("Чек ККМ не пробит!");<br> Возврат;<br> <br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br><br> КонецЕсли;<br> <br> Если ИмяКнопки="ОК" Тогда<br> Форма.Закрыть(1);<br> КонецЕсли;<br> <br>КонецПроцедуры<br><br>//////////////////////////////////­////////////////////////////////////////////////<br>// ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ<br>// <br>//******************************************************************************<br>// предопределенная процедура <br>//<br>Процедура ВводНового(Скопирован)<br>                   <br> АвтоВремяПослеТА();<br> глЗаполнитьШапку(Контекст, Скопирован);<br> <br> Если Скопирован = 1 Тогда // если скопирован, то надо очистить реквизиты<br> ЧекПробитККМ = 0;<br> НомерЧекаККМ = 0;<br> Возврат;<br> <br> КонецЕсли;<br> <br> Если ПустоеЗначение(Касса) = 1 Тогда<br> Касса = глЗначениеПоУмолчанию("ОсновнаяКасса");<br> КонецЕсли;<br> <br> Если ПустоеЗначение(Касса) = 1 Тогда<br> Предупреждение("Для текущего пользователя не настроена касса по умолчанию.<br> |Чек не может быть введен.",60);<br> СтатусВозврата(0); Возврат;<br> КонецЕсли;<br> <br> Если (Касса.РежимККМ = Перечисление.РежимыККМ.OffLine) ИЛИ (Касса.РежимККМ = Перечисление.РежимыККМ.OnLine) Тогда<br> // Для режимов OffLine и OnLine выписка чека не имеет смысла, т.к. чек<br> // пробивается в кассе<br> Предупреждение("Для ККМ с режимом работы OffLine или OnLine <br>              |Чек не может быть введен.",60);<br> СтатусВозврата(0); Возврат;<br> КонецЕсли;<br> <br> Если ПустоеЗначение(Фирма) = 1 Тогда<br> Предупреждение("Для текущего пользователя не настроена фирма по умолчанию.<br> |Чек не может быть введен.",60);<br> СтатусВозврата(0); Возврат;<br> КонецЕсли;<br> <br> Если ПустоеЗначение(Склад) = 1 Тогда<br> Предупреждение("Для текущего пользователя не настроен склад по умолчанию.<br> |Чек не может быть введен.",60);<br> СтатусВозврата(0); Возврат;<br> КонецЕсли;                        <br> <br> ВидОперации = Перечисление.ВидыОперацийЧекККМ.Чек;<br> <br>КонецПроцедуры // ВводНового()<br><br>//******************************************************************************<br>// предопределенная процедура <br>//<br>Процедура ВводНаОсновании(ДокументОснование)<br> <br> Касса       = ДокументОснование.Касса;<br> <br> Если (Касса.РежимККМ = Перечисление.РежимыККМ.OffLine) ИЛИ (Касса.РежимККМ = Перечисление.РежимыККМ.OnLine) Тогда<br> // Для режимов OffLine и OnLine выписка чека не имеет смысла, т.к. чек<br> // пробивается в кассе<br> Предупреждение("Для ККМ с режимом работы OffLine или OnLine <br>              |Чек не может быть введен.",60);<br> СтатусВозврата(0); Возврат;<br> КонецЕсли;<br> <br> СинонимДокумента = ПредставлениеВида();<br> СинонимОснования = ДокументОснование.ПредставлениеВида();<br> <br> Список = глПолучитьСписокВводимыхНаОсновании(ДокументОснование);<br> Поз = Список.НайтиЗначение(Вид());<br> <br> // выполним проверку, можно ли вводить документ на основании ДокументОснование<br> Если Поз = 0 Тогда<br> // ДокументОснование не найден в списке разрешенных<br> Предупреждение("Документ """"" + СинонимДокумента +<br>              """"" нельзя вводить на основании """"" + СинонимОснования + """", 60);<br> СтатусВозврата(0);<br> Возврат;<br> КонецЕсли;<br> <br> // чек вводится только на основании другого чека,<br> // поэтому он всегда является "чеком на возврат"<br> ВидОперации = Перечисление.ВидыОперацийЧекККМ.ЧекНаВозврат;<br> глЗаполнитьШапкуНаОсн(Контекст,ДокументОснование);<br> <br> Результат = ЗаполнениеПоДокументуОснованию();<br> Если ПустоеЗначение(Результат) = 0 Тогда<br> Сообщить(Результат);<br> СтатусВозврата(0);<br> КонецЕсли;<br> <br>КонецПроцедуры // ВводНаОсновании()<br><br>//******************************************************************************<br>// предопределенная процедура<br>//<br>Процедура ПриОткрытии() <br>                         <br> // Заполним таблицу для выбора печатной формы<br> НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм);<br> <br> Парам = Форма.Параметр;<br> Если ТипЗначенияСтр(Парам)="СписокЗначений" Тогда<br> Если ПустоеЗначение(Парам.Получить("Команда"))=1 Тогда<br> Сообщить("В форму документа "+Вид()+" передан неверный параметр!","I");<br> СтатусВозврата(0);Возврат;<br> КонецЕсли;<br> Если Парам.Получить("Команда") = "ПечатьНаПринтер" Тогда<br> КолЭкз = Макс(Число(Парам.Получить("КолЭкз")),1);<br> ПоКнопкеПечать(1,КолЭкз);<br> СтатусВозврата(0);Возврат;<br> ИначеЕсли Парам.Получить("Команда") = "ПечатьНаЭкран" Тогда<br> ПоКнопкеПечать(0);             <br> СтатусВозврата(0);Возврат;<br> Иначе<br> Сообщить("В форму документа "+Вид()+" передана неверная команда "+Парам.Получить("Команда")+"!","I");<br> СтатусВозврата(0);Возврат;<br> КонецЕсли;<br> КонецЕсли; <br> <br> // инициализация модульных переменных, контролирующих выполнение<br> // пересчетов и обновление надписей в форме<br> НачальнаяДатаДокумента = ДатаДок;<br> СтараяСкидка = Скидка;<br> <br> Форма.ШтрихКод .ВыполнятьФормулуТолькоПриИзменении(1);<br> Форма.Номенклатура .ВыполнятьФормулуТолькоПриИзменении(1);<br> Форма.Единица .ВыполнятьФормулуТолькоПриИзменении(1);<br> Форма.Количество .ВыполнятьФормулуТолькоПриИзменении(1);<br> Форма.Цена .ВыполнятьФормулуТолькоПриИзменении(1);<br> Форма.Сумма .ВыполнятьФормулуТолькоПриИзменении(1);<br> <br> глПроверкаРазрешенияРедактирования(Контекст);<br> <br> Если Склад.РозничныйСклад = 1 Тогда<br> // на розн.складе всем разрашаем выбирать цену из списка<br> Форма.Цена.Доступность(1);<br> Форма.Цена.Редактирование(0);<br> КонецЕсли;<br> <br> // если дата проведенного документа больше ТА, то открываем только на просмотр,<br> // так как его все равно не удастся сохранить после редактирования.<br> Если (Проведен() = 1) И (ДатаДок > ПолучитьДатуТА()) Тогда<br> Форма.ТолькоПросмотр(1);<br> КонецЕсли;<br> <br> //Инициализирум список действий по кнопке "Действия"<br> СписокДействий = СоздатьОбъект("СписокЗначений");<br> СписокДействий.ДобавитьЗначение("Отчет о движениях документа");<br> СписокДействий.ДобавитьЗначение("Структура подчиненности");<br>             <br> // Если открыли только на просмотр, то надо кнопки сделать недоступными<br> Если Форма.ТолькоПросмотр()=1 Тогда<br> // СДЕЛАТЬ НЕДОСТУПНЫМИ КНОПКИ МОДИФИКАЦИИ ДОКУМЕНТА<br> Форма.кнОК.Доступность(0);<br> Форма.кнЗаписать.Доступность(0);<br> Форма.кнПровести.Доступность(0);<br> Форма.кнПодбор.Доступность(0);<br> КонецЕсли;<br> <br> СписокДействий.ДобавитьЗначение("Ввести на основании");<br> СписокДействий.ДобавитьЗначение("Перейти в журнал");<br> <br> // кнопка по умолчанию<br> Если (Форма.ТолькоПросмотр() = 1) ИЛИ ((ДатаДок < Макс(РабочаяДата(), ПолучитьДатуТА()) ) И (Выбран() = 1)) Тогда<br> Форма.КнопкаПоУмолчанию("кнЗакрыть");<br> Иначе<br> Форма.КнопкаПоУмолчанию("кнОК");<br> КонецЕсли;<br> <br> ОбновитьНадписи(); <br> УправлениеВидимостью();<br> <br> глДПВключитьРежимВыводаСтрок();<br> <br> //Если документ еще не проведен, тогда <br> //проведение делаем только в потоке<br> Если ( Проведен() = 0 ) Тогда<br> ПроводитьПослеТА(1,1);<br> КонецЕсли; <br> <br>КонецПроцедуры // ПриОткрытии()       <br><br>//******************************************************************************<br>// Предопределенная процедура<br>//<br>Процедура ПриНачалеРедактированияСтроки()<br> <br> Форма.Номенклатура.Доступность(1);<br> Форма.Количество.Доступность(1);<br> <br> // для услуг и работ цены можно редактировать, иначе нужно выбирать из остатков регистра<br> Если (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга)<br> или (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа)<br> или (Склад.РозничныйСклад = 0) Тогда<br> Форма.Цена.Редактирование(глПолучитьПолномочие("РазрешитьРедактированиеЦенВдокументах"));<br> Иначе<br> Форма.Цена.Редактирование(0);<br> КонецЕсли;<br><br> Если Форма.ТекущаяКолонка() = "Цена" Тогда <br> Если (Форма.ПолучитьАтрибут(Форма.ТекущаяКолонка()).Доступность() = 0)<br> И (глПолучитьПолномочие("РазрешитьРедактированиеЦенВдокументах") = 0)<br> И (ПустоеЗначение(Склад.РозничныйСклад) = 1) <br> Тогда<br> Предупреждение("Редактирование цен запрещено в соответствии<br> |с установленными полномочиями пользователя!", 60);<br> КонецЕсли; <br> <br> ИначеЕсли (Форма.ТекущаяКолонка() = "Сумма" )<br> или       (Форма.ТекущаяКолонка() = "СуммаНП" )<br> или       (Форма.ТекущаяКолонка() = "СуммаНДС")<br> Тогда<br> Если (Форма.ПолучитьАтрибут(Форма.ТекущаяКолонка()).Доступность() = 0)<br> И (глПолучитьПолномочие("РазрешитьРедактированиеЦенВдокументах") = 0)<br> Тогда<br> Предупреждение("Редактирование цен запрещено в соответствии<br> |с установленными полномочиями пользователя!", 60);<br> КонецЕсли; <br> КонецЕсли;<br> <br>КонецПроцедуры //ПриНачалеРедактированияСтроки()<br> <br>//******************************************************************************<br>// Предопределенная процедура.<br>//<br>Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр)<br> <br> Если ИдентЭлемДиалога = "Цена" Тогда<br> Если (Склад.РозничныйСклад = 1)<br> и (Номенклатура.ВидНоменклатуры <> Перечисление.ВидыНоменклатуры.Услуга)<br> и (Номенклатура.ВидНоменклатуры <> Перечисление.ВидыНоменклатуры.Работа) Тогда<br> ФлагСтандОбр = 0;<br> <br> // регистры рассчитываем, только если хочется редактировать цены вручную<br> Если глПересчетРегистров(Контекст, СписокПараметров) = 0 Тогда<br> Возврат;<br> КонецЕсли;<br> ТовЦена = """";<br> глПолучитьРозничныйОстатокЦену(Номенклатура, Единица, ОстаткиТМЦ, , ТовЦена);<br> СписокЦен = ЗначениеИзСтроки(ТовЦена);<br> СписокЦен.ВыбратьЗначение(Цена, , , 60,2);<br> глПересчетТаблЧасти(Контекст,"Цена");<br> КонецЕсли;<br> КонецЕсли;<br> <br>КонецПроцедуры // ПриНачалеВыбораЗначения()<br> <br>//******************************************************************************<br>//Предопределенная процедура<br>//<br>Процедура ПриРедактированииНовойСтроки()<br> <br> Форма.Номенклатура.Доступность(1);<br> Форма.Количество.Доступность(1);<br> <br>КонецПроцедуры // ПриРедактированииНовойСтроки()<br><br>//******************************************************************************<br>//Предопределенная процедура<br>//<br>Процедура ПриЗаписи() <br> <br> Если глМожноЗаписатьДокумент(Контекст)=0 Тогда<br> СтатусВозврата(0);                        <br> ИначеЕсли глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда<br> СтатусВозврата(0);<br> КонецЕсли;<br> <br>КонецПроцедуры // ПриЗаписи() <br><br>//******************************************************************************<br>//Предопределенная процедура<br>//<br>Процедура ПриЗакрытии() <br> глДПВключитьРежимВыводаБегСтроки();<br>КонецПроцедуры // ПриЗаписи() <br><br>//******************************************************************************<br>// Предопределенная процедура<br>//<br>Процедура ОбработкаПодбора(ВыбЗнач, КонтФормыПодбора)<br> <br> // нет ставок налогов, есть скидка<br> глОбработкаПодбора(Контекст, ВыбЗнач, 0, 0, 1);<br> <br> ВыбратьСтроки();<br> Пока ПолучитьСтроку() = 1 Цикл<br> ШтрихКод = Единица.ШтрихКод; // прописываем штрих - код<br> КонецЦикла;<br> <br>КонецПроцедуры // ОбработкаПодбора()<br><br>//******************************************************************************<br>Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)<br> // Процедура разбирает штрих-код, считанный сканером<br> // и заполняет строки накладной<br> Перем Упаковка,ТекКоличество, Спецификация;<br> Перем ВремТовар, ВремЕдиница, ВремКоличество, ВремЦена;<br> <br> Перем СтрокаВозврЦена;<br><br> Если Событие = "BarCodeValue" Тогда<br>       Если Форма.ТолькоПросмотр() = 0 Тогда<br> Если ПустоеЗначение(Номенклатура) = 1 Тогда<br> Если НомерСтроки > 0 Тогда<br> УдалитьСтроку(); <br> КонецЕсли;<br> КонецЕсли;<br> <br> Если глПолучитьТоварПоШтрихкоду(Данные, ВремТовар, ВремЕдиница, ВремКоличество) <> 0 Тогда<br> ТаблицаПодбора = СоздатьОбъект("ТаблицаЗначений");<br> ТаблицаПодбора.НоваяКолонка("Номенклатура");<br> ТаблицаПодбора.НоваяКолонка("Единица");<br> ТаблицаПодбора.НоваяКолонка("Количество", "Число");<br> ТаблицаПодбора.НоваяКолонка("Цена", "Число");<br> <br> ТаблицаПодбора.НоваяСтрока();<br> ТаблицаПодбора.Номенклатура = ВремТовар;<br> ТаблицаПодбора.Единица      = ВремЕдиница;<br> ТаблицаПодбора.Количество = ВремКоличество;<br> <br> ПараметрыПодбора = СоздатьОбъект("СписокЗначений");<br> ПараметрыПодбора.ДобавитьЗначение(0, "ЕстьВидТМЦ");<br> <br> Если (ВремТовар.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга)<br> или (ВремТовар.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа) Тогда<br> <br> ТаблицаПодбора.Цена = глПолучитьЦену(ВремТовар, Константа.РозничныйТипЦен, ДатаДок, ВремЕдиница, Валюта, Курс, Кратность);<br> <br> ПараметрыПодбора.ДобавитьЗначение("ИзСправочника"       , "ЦенаВподборе");<br> ПараметрыПодбора.ДобавитьЗначение(Константа.РозничныйТипЦен, "ТипЦен");<br> <br> <br> ИначеЕсли Склад.РозничныйСклад = 0 Тогда<br> <br> ТаблицаПодбора.Цена = глПолучитьЦену(ВремТовар, глЗначениеПоУмолчанию("ОсновнойТипЦенПродажи"), ДатаДок, ВремЕдиница, Валюта, Курс, Кратность);<br> <br> ПараметрыПодбора.ДобавитьЗначение("ИзСправочника", "ЦенаВподборе");<br> ПараметрыПодбора.ДобавитьЗначение(глЗначениеПоУмолчанию("ОсновнойТипЦенПродажи"), "ТипЦен");<br> <br> Иначе // цена из остатков регистра<br> ТовОстатки = СоздатьОбъект("Регистр.ОстаткиТМЦ");<br> ФирмаДляОстатковТМЦ = глФирмаДляОстатковТМЦ(Фирма);<br> ТовОстатки.УстановитьЗначениеФильтра("Фирма", ФирмаДляОстатковТМЦ, 2);<br> ТовОстатки.УстановитьЗначениеФильтра("Склад", Склад, 1);<br> <br> глПолучитьРозничныйОстатокЦену(ВремТовар, ВремЕдиница, ТовОстатки, , СтрокаВозврЦена);<br> <br> СписВозврЦен = ЗначениеИзстроки(СтрокаВозврЦена);<br> Если СписВозврЦен.РазмерСписка() = 1 Тогда<br> ТаблицаПодбора.Цена = глПересчет(СписВозврЦен.ПолучитьЗначение(1), глРубли, ДатаДок, Валюта, Курс,, Кратность);<br> <br> ИначеЕсли СписВозврЦен.РазмерСписка() > 1 Тогда<br> <br> Если СписВозврЦен.ВыбратьЗначение(ВремЦена,"Выберите цену для товара " + ВремТовар.Наименование, , 60) = 1 Тогда<br> ТаблицаПодбора.Цена = глПересчет(ВремЦена, глРубли, ДатаДок, Валюта, Курс,, Кратность);<br> Иначе <br> ТаблицаПодбора.Цена = 0;<br> КонецЕсли;<br> Иначе<br> ТаблицаПодбора.Цена = 0;<br> КонецЕсли;<br> <br> ПараметрыПодбора.ДобавитьЗначение("Розница", "ЦенаВподборе");<br> КонецЕсли;<br> <br> ПараметрыПодбора.ДобавитьЗначение(ТаблицаПодбора , "ТаблицаПодбора");<br> <br> глОбработкаПодбора(Контекст, ПараметрыПодбора, 0, 0, 1);<br> <br> ВыбратьСтроки();<br> Пока ПолучитьСтроку() = 1 Цикл<br> ШтрихКод = Единица.ШтрихКод; // прописываем штрих - код<br> КонецЦикла;<br> КонецЕсли;<br> КонецЕсли;<br> <br> // Обработка закончена. Готовы к получению нового штрихкода.<br> глСканерПосылкаДанных(1);<br> Иначе<br> глОбработкаВнешнегоСобытия(Источник, Событие, Данные); <br> КонецЕсли;<br><br>КонецПроцедуры // ОбработкаВнешнегоСобытия()<br><br>////////////////////////////////////////////////////­////////////////////////////<br>// ТЕЛО МОДУЛЯ ФОРМЫ<br>//<br>НомерТекущейФормы = 0;<br><br>ТаблицаПечФорм = СоздатьОбъект("ТаблицаЗначений");<br>ТаблицаПечФорм.НоваяКолонка("Название","Строка",,,,30);<br>ТаблицаПечФорм.НоваяКолонка("Файл","Строка",,,"Файл",10);<br>ТаблицаПечФорм.НоваяКолонка("Кнопка","Строка",,,,10); <br>ТаблицаПечФорм.НоваяКолонка("ФайлОписания","Строка");<br> <br>// добавим информацию о встроенной форме<br>ТаблицаПечФорм.НоваяСтрока();<br>ТаблицаПечФорм.Название = "Печатная форма товарного чека";<br>ТаблицаПечФорм.Кнопка       = "Чек";<br><br>// Для выбора цен<br>ОбщРег       = СоздатьОбъект("Регистры");<br>ОстаткиТМЦ       = ОбщРег.ОстаткиТМЦ;<br>СписокПараметров = СоздатьОбъект("СписокЗначений"); <br>СписокПараметров.Установить("ОбщРег"             , ОбщРег);<br>СписокПараметров.Установить("ОстаткиТМЦ"       , ОстаткиТМЦ);<br>СписокПараметров.Установить("ФильтрПоСкладу"      , ПолучитьПустоеЗначение("Справочник.Склады"));<br>СписокПараметров.Установить("ФильтрПоФирме"       , ПолучитьПустоеЗначение("Справочник.Фирмы"));<br>СписокПараметров.Установить("ПозицияРегистра" , 0);<br> <br>СтараяСумма = -1; СтараяПолучено = -1;"

VVP
читатель
офлайн
Дата регистрации: 12.10.2006
Сообщений: 4950
Пост №17
 
23.09.2009 18:03

Зря ты это сказал. :)

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №18
 
23.09.2009 18:19

"Зачем весь модуль то было выкладывать? Вполне достаточно только текст процедуры "ОбработкаВнешнегоСобытия"...<br><br>Замените в этой процедуре строку:<br><br>"ТаблицаПодбора.Количество = ВремКоличество;"<br><br>на<br><br>"ТаблицаПодбора.Количество = ?(ВремКоличество=0, 1, ВремКоличество);""

133
читатель
офлайн
Дата регистрации: 22.09.2009
Сообщений: 13
Пост №19
 
24.09.2009 15:24

"ден что то не как не подходит подставляю <br>"ТаблицаПодбора.Количество = ?(ВремКоличество=0, 1, ВремКоличество);"<br>а оно всеровно делает как<br>"ТаблицаПодбора.Количество = ВремКоличество;"<br>что ещё можно сделать????"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №20
 
24.09.2009 15:53

Что значит "все равно делает как"? Текст в программном коде не меняется чтоли?

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация