Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форумы общения пользователей продуктов АТОЛ _ Frontol для Win32 — предприятия торговли _ получение номера фд и номера фн в скрипте

Автор: Леонидыч 1.3.2022, 21:17

Вечер добрый!

Фронтол версии 5 последний. Обновляться будут, но не сейчас)

Задача - выгрузкой нужно получать с каждым чеком его номер фд и номер фн. Это все есть в таблице TranzT, но я так понимаю, запись в таблицу делается после закрытия документа? Возможно ли мне через настройку "Выгружать пользовательскую информацию" это провернуть или она срабатывает до записи данных в таблицу TranzT? Спасибо.

Автор: АТОЛ: Царюков Роман 1.3.2022, 22:28

Запись в БД идёт после закрытия чека

Автор: АТОЛ: Средних Владимир 2.3.2022, 8:07

В выгрузке эта информация уже будет, см. транзакцию 45

Автор: Леонидыч 2.3.2022, 8:22

Цитата(АТОЛ: Средних Владимир @ 2.3.2022, 9:07) *
В выгрузке эта информация уже будет, см. транзакцию 45

В 6м Фронтоле это все есть, а в 5м выгружается только фискальный признак документа.

Подскажите, при задействованной настройке "Выгружать пользовательскую информацию" запись этой информации делается в поле 38 таблицы Document?
Получается, после закрытия чека мне нужно в базу сделать запись пользовательских данных, чтобы она потом попала в выгрузку 42й транзакции в 34е поле. Или есть еще варианты?

Автор: АТОЛ: Царюков Роман 2.3.2022, 15:02

Для фронтол 5/6 вроде без разницы в какой момент вы будете писать uservalues

Быстрее проверить самостоятельно - делов на 5 минут

Автор: Леонидыч 2.3.2022, 22:45

Цитата(АТОЛ: Царюков Роман @ 2.3.2022, 16:02) *
Для фронтол 5/6 вроде без разницы в какой момент вы будете писать uservalues

Быстрее проверить самостоятельно - делов на 5 минут

Проверил. Печально. Была надежда, что в сценарии в событии "после закрытия документа" записи транзакций уже попадут в таблицу TranzT, ан нет. Не достать.

Автор: АТОЛ: Царюков Роман 2.3.2022, 22:48

Пишите ДО
В чем вопрос то?

Если касса одна и РМ одно, то где проблемы?

Автор: Леонидыч 2.3.2022, 23:06

Цитата(АТОЛ: Царюков Роман @ 2.3.2022, 23:48) *
Пишите ДО
В чем вопрос то?

Если касса одна и РМ одно, то где проблемы?

Вопрос в том, что мне надо из транзакций документа записать номер фд и номер фн в пользовательскую переменную в самом документе, чтобы потом эта инфа попала в выгрузку. Но сами транзакции записываются после закрытия документа и событиями документа мне их не достать.

Автор: АТОЛ: Царюков Роман 2.3.2022, 23:15

Так в чем проблема записывать ДО закрытия чека?

Автор: Леонидыч 3.3.2022, 5:04

Цитата(АТОЛ: Царюков Роман @ 3.3.2022, 0:15) *
Так в чем проблема записывать ДО закрытия чека?

Либо я вас не понимаю, либо вы меня.
Создали документ, добавили товар, оплату, закрыли документ. В таблицу TranzT записались транзакции данного документа. Как мне из записанных транзакций вытащить данные еще ДО закрытия чека, если их еще нет в базе? Никак. Думал, что может в событии "после закрытия" документа уже можно будет увидеть транзакции, но их в этот момент еще нет.

Автор: АТОЛ: Царюков Роман 3.3.2022, 5:35

Так вы же данные собирались брать из файла выгрузки, как я понял

Автор: Леонидыч 3.3.2022, 6:44

Цитата(АТОЛ: Царюков Роман @ 3.3.2022, 6:35) *
Так вы же данные собирались брать из файла выгрузки, как я понял

Задача - выгрузкой нужно получать с каждым чеком его номер фд и номер фн. Т.е. в товароучетке мне нужны эти данные.

Автор: АТОЛ: Царюков Роман 3.3.2022, 7:08

Так
Продолжайте

Или начинайте сначала)
В чем проблема писать нужные данные в uservalues?

Автор: Леонидыч 3.3.2022, 7:22

Цитата(АТОЛ: Царюков Роман @ 3.3.2022, 8:08) *
Так
Продолжайте

Или начинайте сначала)
В чем проблема писать нужные данные в uservalues?

Нужные данные находятся в таблице TranzT, эти нужные данные появляются когда чек закрывается. Чек закрыт, как и в какой момент мне в пользовательскую переменную закрытого чека записать нужные мне данные?

Автор: АТОЛ: Царюков Роман 3.3.2022, 10:46

То есть вам надо из одного поля записи tranzt данные перенести в другое поле?

Чтобы потом получить в выгрузке эту инфу?

Автор: Леонидыч 3.3.2022, 11:10

Цитата(АТОЛ: Царюков Роман @ 3.3.2022, 11:46) *
То есть вам надо из одного поля записи tranzt данные перенести в другое поле?

Чтобы потом получить в выгрузке эту инфу?

В выгрузку попадает поле 38 из таблицы Document. Т.е. из TranzT из 45й транзакции мне нужно данные из двух полей записать в 38 поле таблицы Document.

Автор: АТОЛ: Царюков Роман 3.3.2022, 11:34

Давайте в одних терминах разговаривать

Никаких '38х полей' в БД нет

Автор: Леонидыч 3.3.2022, 12:56

Цитата(АТОЛ: Царюков Роман @ 3.3.2022, 12:34) *
Давайте в одних терминах разговаривать

Никаких '38х полей' в БД нет

Извиняюсь, номер строки в таблице описания написал. В "UserValues" в таблице Document записать из таблицы TranzT поля "Info" и "Barcode" транзакции 45..

Автор: АТОЛ: Царюков Роман 3.3.2022, 13:07

пробовать триггеры задействовать

Автор: Леонидыч 3.3.2022, 20:34

Цитата(АТОЛ: Царюков Роман @ 3.3.2022, 14:07) *
пробовать триггеры задействовать

Спасибо, Роман.

Триггер создал, запись идет.
Для таблицы TranzT, событие Insert, тип After.
Код
AS
BEGIN
  
IF (NEW.TRANZTYPE = 45) THEN
  BEGIN
    UPDATE DOCUMENT SET
    USERVALUES = NEW.INFO
    WHERE ID = NEW.DOCUMENTID;
  END

END

Сторонний триггер ни на что не повлияет?)

Автор: АТОЛ: Царюков Роман 3.3.2022, 20:39

Цитата(Леонидыч @ 3.3.2022, 20:34) *
Сторонний триггер ни на что не повлияет?)

Время покажет)

Или ваши тесты))

При обновлении и конвертации БД на новую версию скорее всего будут проблемы

Автор: lalex23 15.8.2022, 15:42

Оказывается в Frontol 6 всё есть в транзакции 45

Автор: АТОЛ: Средних Владимир 15.8.2022, 22:02

Любите доку, источник знаний wink.gif

Автор: Леонидыч 13.9.2022, 8:04

Цитата(lalex23 @ 15.8.2022, 16:42) *
Оказывается в Frontol 6 всё есть в транзакции 45

Если это мне, то перечитайте первый пост. Вопрос про 5ю версию.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)