Wolflab
Новичок
Зарегистрирован: Вт июн 28, 2005 9:11 am Сообщения: 31 Откуда: Приморье
|
Кассир: Продажи за произв. период
Доброго дня суток!
Установлена версия 1.8
В документации прочитал о полезной функции выгрузки транзакций
за определенный период. Но к сожалению ничего не работает. Помещаю в каталог обмена флаг-файл к примеру
d (первая стр.)
16.10.2005;16.10.2005 (вторая стр.)
Касса его преспокойно удаляет и и выдает пустой rep-файл.
Манипуляции с форматом даты ни к чему не привели.
Спасибо, надеюсь на скорый ответ.
|
Marcos
Новичок
Зарегистрирован: Чт мар 17, 2005 9:00 pm Сообщения: 434 Откуда: Штрих-М, Москва
|
Добрый день.
Выгрузка транзакций за определенную дату возможна только в ручном режиме. По файлу-флагу происходит только новых транзакций, созданных после выгрузки предыдущего отчета. Вручную транзакции можно выгрузить с закладки "Отчеты" в режиме "Настройки программы".
_________________ С уважением, Макаров Дмитрий Алексеевич.
Руководитель направления разработки НТЦ "Штрих-М".
makarovda@shtrih-m.ru, (495) 787-60-90, 787-60-91.
|
Wolflab
Новичок
Зарегистрирован: Вт июн 28, 2005 9:11 am Сообщения: 31 Откуда: Приморье
|
Очень жаль, что техническая поддержка разработчика ПО не знает свою программу. Приходится разбираться самому.
В глоб модуле функция ОбработкаФлагаВыгрузки есть такой фрагмент
(Заранее извиняюсь за нечитабельный код, форматировать лень, тем более нужный фрагмент выделен жирным)
ИначеЕсли Стр="d" Тогда
Диапазон=СтрЗаменить(Флаг.ПолучитьСтроку(2),";",РазделительСтрок);
НачДата=Дата(СтрПолучитьСтроку(Диапазон,1));
КонДата=Дата(СтрПолучитьСтроку(Диапазон,2));
НачВремя="00:00:00";
КонВремя="23:59:59";
Если Флаг.КоличествоСтрок()>2 Тогда
Диапазон=СтрЗаменить(Флаг.ПолучитьСтроку(3),";",РазделительСтрок);
НачВремя=СокрЛП(СтрПолучитьСтроку(Диапазон,1));
КонВремя=СокрЛП(СтрПолучитьСтроку(Диапазон,2));
КонецЕсли;
Транз=СоздатьОбъект("Справочник.Транзакции");
Если ПустоеЗначение(НачДата)>0 Тогда
Транз.ПорядокКодов();
Транз.ВыбратьЭлементы();
Пока Транз.ПолучитьЭлемент()>0 Цикл
НачДата=Транз.ДатаТранз;
Прервать;
КонецЦикла;
КонецЕсли;
Если ПустоеЗначение(НачДата)>0 Тогда
Прервать;
КонецЕсли;
Если ПустоеЗначение(КонДата)>0 Тогда
Транз.ПорядокКодов();
Транз.ОбратныйПорядок(1);
Транз.ВыбратьЭлементы();
Пока Транз.ПолучитьЭлемент()>0 Цикл
КонДата=Транз.ДатаТранз;
Прервать;
КонецЦикла;
КонецЕсли;
Если ПустоеЗначение(КонДата)>0 Тогда
Прервать;
КонецЕсли;
Если НачДата>КонДата Тогда
Прервать;
КонецЕсли;
ОткрытьФорму("Обработка.Пауза","Выгрузка продаж"+РазделительСтрок+
"Сбор данных для выгрузки...");
ВнешняяКомпонента.SetCentre("Выгрузка продаж",0,-30);
ТранзакцииДляВыгрузки=СоздатьОбъект("ТаблицаЗначений");
ТранзакцииДляВыгрузки.НоваяКолонка("Номер","Число");
ТранзакцииДляВыгрузки.НоваяКолонка("Транзакция","Справочник.Транзакции");
Для Пар=0 по КонДата-НачДата Цикл
Транз.ВыбратьЭлементыПоРеквизиту("ДатаТранз",НачДата+Пар,1,0);
Пока Транз.ПолучитьЭлемент()>0 Цикл
//Этот фрагмент пришлось закомментировать, поскольку он и является источником ошибки //Разбираться не стал, поскольку выборка во временном интервале в указаном диапазоне //дат не интересует // Если //(Транз.ДатаТранз=НачДата) И (Транз.ВремяТранз<НачВремя) Тогда // Продолжить; // КонецЕсли; // Если //(Транз.ДатаТранз=КонДата) И (Транз.ВремяТранз>НачВремя) Тогда // Прервать; // КонецЕсли; ТранзакцииДляВыгрузки.НоваяСтрока();
ТранзакцииДляВыгрузки.Номер=Число(Транз.Код);
ТранзакцииДляВыгрузки.Транзакция=Транз.ТекущийЭлемент();
КонецЦикла;
КонецЦикла;
ТранзакцииДляВыгрузки.Сортировать("+Номер");
ОткрытьФорму("Обработка.Пауза",-1);
ВыгрузитьТранзакции(0,0,ТранзакцииДляВыгрузки);
|
Suvorov_Anton
Постоянный участник
Зарегистрирован: Пн мар 14, 2005 10:11 am Сообщения: 2358 Откуда: Штрих-М
|
В программе Штрих-М кассир действительно есть возможность указывать программе, какие данные следует выгружать. В версии х.8 в этот механизм были внесены изменения и при тестировании эту ошибку не заметили , в ближайших подрелизах мы обязательно это исправим. Эта возможность редко используется и в большенстве программ не задействована по этому о её существовании знают не все .
_________________ _________________
С уважением, Суворов Антон,
Преподаватель учебно-тренингового центра
e-mail: suvorov@shtrih-m.ru,
тел. (495) 787-60-90.
|