Имя: Пароль:
1C
1С v8
Два ФКР на одном рабочем месте кассира
0 21stas
 
01.09.11
12:17
Ситуация стандартная:
- одно рабочее место кассира;
- одно юридическое лицо + одно ИП;
- один ФКР + один принтер чеков.

Часть чека - на товар, принадлежащий ИП, должна пробиваться как чек на ФКР, вторая часть - на принтере чеков.

Хочется автоматизировать на 1С: Комплексная автоматизация.

Насколько я знаю, придётся "допиливать" (т.е. дописывать код) рабочее место кассира, чтобы формировалось два чека.

Кто подскажет путь, чтобы самому все-все шишки не собирать? Возможна оплата.

О возможных трудностях с налоговой (Письмо Федеральной налоговой службы от 7 августа 2006 г. N ММ-6-06/771@) знаю. Поиском пользовался, понял только, что допиливать надо и что-то с регистром "Торговое оборудование" надо поработать.
1 Ткачев
 
01.09.11
12:20
(0)У меня в рознице сделано, в номенклатуре стоит организация чей товар, при продаже разделяю его по ФР организации, соответственно формирую 2 чека, закрытие тоже на 2 отчета по розничным продажам, где то была моя тема.
2 dva1c
 
01.09.11
12:20
обсуждение этого уже было. поищи. связано с логическим номером устройства.
3 21stas
 
01.09.11
12:23
(1) Просмотрел твои темы:
http://forum.mista.ru/index.php?user_id=44300

Не нашёл. Которая имеется ввиду?
4 21stas
 
01.09.11
12:26
(2) Да, была такая тема, видел:
v8: Два ФР на одном компе. Кто делал?

Но хотелось бы подробностей.
5 dva1c
 
01.09.11
12:38
(4) я делал так: использовал драйвер атола. они умеют возвращать лог. номер устройства. и при печати направлял печать на соответствующее устройство.
своих тем с рекомендациями не нашел (
6 Ткачев
 
01.09.11
12:40
Разделение по ФР:
Процедура ЗавершитьЗакрытиеЧека(Печать, РучнойРежим = Ложь, ВыбратьДокументПечати = Ложь) Экспорт
   
   Если Константы.ДваФР.Получить() Тогда
       Запрос = Новый Запрос("
       |ВЫБРАТЬ * ПОМЕСТИТЬ ТабТов ИЗ &ТабТов КАК ТТ;
       |ВЫБРАТЬ *
       |ИЗ
       |    ТабТов КАК Товары
       |ГДЕ
       |    Товары.Номенклатура.ТоварОрганизации = &Организация");
       Запрос.УстановитьПараметр("ТабТов", Товары.Выгрузить());
       ВремДисконтнаяКарта = ДисконтнаяКарта;
       Оплаты = Оплата.Выгрузить();
       СписокОплат = Новый СписокЗначений;
       ПервыйПроход = 1;
       Организации = Справочники.Организации.Выбрать();
       Пока Организации.Следующий() Цикл
           Организация = Организации.Ссылка;
           Если Организация = Магазин.ОсновнойСклад.Организация Тогда
               Запрос.Текст = Запрос.Текст +" ИЛИ Товары.Номенклатура.ТоварОрганизации = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)";
           КонецЕсли;
           Запрос.УстановитьПараметр("Организация", Организация);
           Результат = Запрос.Выполнить();
           Если Не Результат.Пустой() Тогда
               Товары.Загрузить(Результат.Выгрузить());
               Оплата.Загрузить(Оплаты);
               ИтогСуммы = Товары.Итог("Сумма");
               ИтогОплат = Оплаты.Итог("Сумма");
               Если ИтогСуммы <> ИтогОплат Тогда
                   Если Оплата.Количество() = 1 Тогда
                       ФормаОплат = Оплата.Получить(0);
                       ФормаОплат.Сумма = ИтогСуммы;
                   Иначе
                       Для Каждого ФормаОплат Из Оплата Цикл
                           Если ПервыйПроход Тогда
                               СуммаОплаты = ИтогСуммы * Окр(ФормаОплат.Сумма / ИтогОплат, 2);
                               СписокОплат.Добавить(ФормаОплат.Сумма - СуммаОплаты);
                               ФормаОплат.Сумма = СуммаОплаты;
                           Иначе
                               ФормаОплат.Сумма = СписокОплат.Получить(ФормаОплат.НомерСтроки - 1).Значение;
                           КонецЕсли;
                       КонецЦикла;
                       ПервыйПроход = 0;
                   КонецЕсли;
               КонецЕсли;
               ДисконтнаяКарта = ВремДисконтнаяКарта;
               ФР = ПолучитьСерверТО().ПолучитьИдентификаторПоИдКассы(Организация);
               КассаККМ = ПолучитьСерверТО().ПолучитьКассуККМ(ФР);
               ПересчитатьАвтоматическиеСкидки();
               ЗавершитьЗакрытиеЧека2(Печать, РучнойРежим, ВыбратьДокументПечати);
           КонецЕсли;
       КонецЦикла;
   Иначе
       ЗавершитьЗакрытиеЧека2(Печать, РучнойРежим, ВыбратьДокументПечати);    
   КонецЕсли;
   
КонецПроцедуры

Печать на ФР:
Функция ПровестиИРаспечататьЧек(Ответ, Отказ, ФормаДокумента, ПечатьПакетаДокументовВозврат = Ложь, РучнойРежимПечати = Ложь) Экспорт
...
   //Ткачев
   Если Константы.ДваФР.Получить() Тогда
       ФР = ПолучитьСерверТО().ПолучитьИдентификаторПоИдКассы(КассаККМ.Организация);
   Иначе
       ФР = глЗначениеПеременной("мФР");
   КонецЕсли;
   //***
   Если ФР = Неопределено Тогда
       МассивФР      = ПолучитьСерверТО().ПолучитьСписокУстройств(
                           Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор,
                           КассаККМ);

       КоличествоФР = МассивФР.Количество();

       Если КоличествоФР = 0 Тогда
...
7 dva1c
 
01.09.11
12:41
(4) в (6) и код готовый
(6)+1
8 21stas
 
01.09.11
12:45
Спасибо. Буду реализовывать.
Ткачев: Можно при случае написать в аську? Кстати, часто бывают в Екб - квартира там и друзья. Если как отблагодарить надо - пиши.
9 Ткачев
 
01.09.11
12:47
(8)Пиши, я розницу сворачиваю, все бесплатно раздаю, не идет она на продуктовых магазинах.
10 21stas
 
01.09.11
13:16
А что с Розницей? А то я её регулярно продаю. Как бы мне так же потом не возвращать.
11 Ткачев
 
01.09.11
13:19
(10)Тормоз она, ей шмотки только продавать, или один чек в 30 сек.
12 Ткачев
 
01.09.11
13:20
+(11)На Set Retail переводим кассы.
13 21stas
 
01.09.11
13:30
Понял. Ну у меня все предприятия под 1С:Розницей с малым оборотом.
Но на будущее очень полезная информация.
14 dva1c
 
01.09.11
14:05
(9) согласен. на продуктовых не идет. на торговле "тряпками" - нормуль
15 21stas
 
02.09.11
12:14
А есть у кого-нибудь код под Управление торговлей или Комплексную автоматизацию?
16 21stas
 
05.09.11
13:03
Я черновичок написал, если кто найдёт эту тему - пишите мне на почту - пришлю код. Бесплатно, конечно.