Группа: Пользователи
Сообщений: 91
Спасибо сказали: 1 раз
Рейтинг: 0
Доброго дня, конфігурація BAS Управління торгівлею. Стоїть завдання, якщо у чеку є акцизні і звичайні товари, то розділяти чек на 2 чеки. Було вибрано наступний варіант, перед тим як чек проводиться, програмно перевіряти на наявність акцизу і програмне створеня 2-х чеків(спочатку пробивається і друкується звичайний чек з всіма товарами, а тоді окремо друкується фіскальний чек з акцизними товарами ). Чек без акцизних товарів створюється і троводиться програмно програмно, а акцизні товари завантажуються в документ об'єкт відкритого документу і він також має пробитися. Код
&НаКлиенте Процедура ПробитьЧек()
ОчиститьСообщения();
ЕстьОшибки = Ложь;
Если Объект.ПометкаУдаления Тогда ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru='Документ помечен на удаление';uk='Документ позначений на вилучення'"), Объект.Ссылка,,,ЕстьОшибки); КонецЕсли;
Если ЕстьОшибки Или Не ПроверитьЗаполнение() Тогда Возврат; КонецЕсли;
ВыполнитьДействиеПослеЗаписи( Новый ОписаниеОповещения("ПробитьЧекПослеПроведения", ЭтотОбъект), НСтр("ru='Перед выполнением операции пробития чека не удалось провести документ.';uk='Перед виконанням операції пробиття чека не вдалося провести документ.'")); //++++++++++++++++++++++++++++++++++++++++++++ Если ПроверкаСтатуса (ЭтотОбъект.Объект.Статус) Тогда ЕстьАкциз = Ложь; СтруктураДопКаси(,,ЭтотОбъект.Объект); Если ЕстьАкциз Тогда
ВыполнитьДействиеПослеЗаписи( Новый ОписаниеОповещения("ПробитьЧекПослеПроведения", ЭтотОбъект), НСтр("ru='Перед выполнением операции пробития чека не удалось провести документ.';uk='Перед виконанням операції пробиття чека не вдалося провести документ.'")); КонецЕсли;
Если ТзБезАкцизных.Количество() <> 0 Тогда НовыйДок = ДокументОбъект.Ссылка.Скопировать(); НовыйДок.товары.Загрузить(ТзБезАкцизных); НовыйДок.Дата = ДокументОбъект.Дата; НовыйДок.СуммаДокумента = НовыйДок.товары.Итог("Сумма"); НовыйДок.Статус = Перечисления.СтатусыЧековККМ.Пробит; НовыйДок.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
ЕстьАкциз = Истина; КонецЕсли; Структура = Новый структура; Структура.Вставить("ТзБезАкцизных",ТзБезАкцизных); Структура.Вставить("ТзАкцизных",ТзАкцизных); Структура.Вставить("ДопКасса",ДопКасса); Структура.Вставить("ЕстьАкциз",ЕстьАкциз); Возврат Структура; КонецФункции
Після цього з'являється помилка "неможливо змінювати поле яке містить об'єкт даних форми"!!! В чрму може бути причина, або порадьте інший варіант вирішення завдання(цей варіант працював в звичайних формах...).
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!