1)Приходит товар от разных поставщиков в разной валюте, отгрузка соответственно происходит также в разной валюте. По умолчанию в Terrasoft при добавлении отгрузки или прихода, в таблице накладные нет поля "выбор валюты", как можно добавить данное поле? "ресурсы>склад>накладные> и в самой таблице "выбор валюты""
2)Как можно сделать по умолчанию при отгрузке или приходу товара, выбор того или иного товара не по "продукт" а по "код"? где это все редактируется?
3)Как добавить колонку "код" в "ресурсы>склад>накладные>продукты"?
4)Как в таблице "продукты" сделать склада по умолчанию, чтобы не выбирать его постоянно.

Огромнейшее спасибо!

Нравится

21 комментарий

К сожалению, Вами не указана версия. В новых версиях данный функционал уже реализован.

"Смирнов Д.И." написал:
1)Приходит товар от разных поставщиков в разной валюте, отгрузка соответственно происходит также в разной валюте. По умолчанию в Terrasoft при добавлении отгрузки или прихода, в таблице накладные нет поля "выбор валюты", как можно добавить данное поле? "ресурсы>склад>накладные> и в самой таблице "выбор валюты""

Чтобы добавить в карточку поле, необходимо последовательно добавить поле в таблицу tbl_OfferingMovament, поля в запрос sq_OfferingMovement, поле в датасет ds_OfferingMovement и поле в карточку. Инструкция в приложении.

Либо же воспользоваться функционалом пользовательских полей.

"Смирнов Д.И." написал:
2)Как можно сделать по умолчанию при отгрузке или приходу товара, выбор того или иного товара не по "продукт" а по "код"? где это все редактируется?

Для этого нужно сделать следующее:

1. В датасете Продукт установить галочку напротив "Поле для поиска, поле для отображения"
2. В настройках датасета установить основным полем для отображения поле Код

"Смирнов Д.И." написал:
3)Как добавить колонку "код" в "ресурсы>склад>накладные>продукты"?

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

"Смирнов Д.И." написал:
4)Как в таблице "продукты" сделать склада по умолчанию, чтобы не выбирать его постоянно.

Пронумеровать склады в справочнике и установить в запросе sq_Store сортировку по номеру.

версия Terrasoft 3.0.2.66

Здравствуйте!

Инструкция по добавлению колонки Код в приложении.

Здравствуйте!!!

"Alimova Anna" написал:Чтобы добавить в карточку поле, необходимо последовательно добавить поле в таблицу tbl_OfferingMovament, поля в запрос sq_OfferingMovement, поле в датасет ds_OfferingMovement и поле в карточку. Инструкция в приложении.

Либо же воспользоваться функционалом пользовательских полей.


Все сделал как написано в приложении! Через "пользовательские поля" не получилось, т.к. не нашел соответствующего поля "ресурсы" "склад" "накладные".
Так вот все отобразилось, НО!
При выборе валюты выскакивает приложение написано в шапке "Just-In-Time Debugging".
Пишет: An exception 'Runtime Error' has occurred in Script.
И предлагает "Possible Debuggers:"
1)New instance of Microsoft Script Debugger
2)New instance of Microsoft Script Editor

И вопрос
"Do you want to debugger using the select debugger?"
Yes или No

И вот сам Terrasoft что написал:

Ошибка выполнения метода 'wnd_BaseGridAreaOnNotify'. request synchronization error
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements
Error Code: 44 «Call Stack»
[11.10.25 12.03.30.093] (E) Ошибка выполнения метода 'wnd_OfferingMovementEditOnPrepare'. Ошибка открытия источника данных "X25\Workspaces\OfferingMovement\General\ds_OfferingMovement".
Оригинальное сообщение об ошибке: conversion error from string "BLOB"
Overflow occurred during data type conversion.
Error Code: 14 «Call Stack»
[11.10.25 12.15.09.718] (E) Ошибка выполнения метода 'wnd_OfferingMovementEditOnPrepare'. Ошибка открытия источника данных "X25\Workspaces\OfferingMovement\General\ds_OfferingMovement".
Оригинальное сообщение об ошибке: conversion error from string "BLOB"
Overflow occurred during data type conversion.
Error Code: 14 «Call Stack»

Пропала информация о приходе и отгрузке

Вероятнее всего, Вами вместо строкового поля в датасет было добавлено поле типа большой бинарный объект.

Попробуйте взять резервную копию базы данных и повторить выполнение инструкции.

Верно! Был добавлено поле типа большой бинарный объект.
У меня нет на английском типа global unique identifier.
Переводчик перевел как глобальный уникальный идентификатор.

И необходимо ставить на галочку "Реплицируется"?

Изменил на уникальный идентификатор, а так же пробовал сделать поле строка, пишет следующую ошибку

Ошибка открытия источника данных
conversion error from string "BLOB"
Error Code 14.

Перед редактированием базу данных не сохранил. Можно ли исправить в этой базе. Может удалить все изменения и добавить заново?

Все получилось!
Удалил все изменения, и сделал все заново.

Огроооомнейшее спасибо Анна!

Появилась новая задача! Валюта теперь есть, а вот пересчитывать в любую другую валюту при отгрузке, отличающую от валюты прихода программа не хочет. Что то еще надо добавить

Как я понимаю, надо теперь добавить курс валют в карточку накладные. И как бы заставить Склад отображать валюту контрагента и соответственно курс валют.

Здравствуйте!

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

1. Валюта должна храниться в карточке контрагента, и подтягиваться оттуда. То есть, необходимо сделать следующее:

В таблице, запросе, датасете, карточке Контрагент создать поле валюта CurrencyID

2. в запросе, датасете и карточке Наклыдные создать поле Валюта, которое подтягивать из таблицы контрагент

3. В карточке Накладные создать вычисляемое поле суммы в валюте контрагента.

в скрипте датасета Накладные прописать вычисление поля в зависимости от того, какая валюта указана в карточке контрагента.

"Alimova Anna" написал:

Здравствуйте!

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

1. Валюта должна храниться в карточке контрагента, и подтягиваться оттуда. То есть, необходимо сделать следующее:

В таблице, запросе, датасете, карточке Контрагент создать поле валюта CurrencyID

2. в запросе, датасете и карточке Наклыдные создать поле Валюта, которое подтягивать из таблицы контрагент

3. В карточке Накладные создать вычисляемое поле суммы в валюте контрагента.

в скрипте датасета Накладные прописать вычисление поля в зависимости от того, какая валюта указана в карточке контрагента.

Анна Алимова

Специалист II линии технической поддержки Terrasoft


Так тяжело разобраться... Может можно вас попросить инструкцию, как вы присылали выше?... если нет, то хотя бы можно попросить вас написать то что выше,только с названием таблиц на языке этих таблиц?

Здравствуйте!

Таблица Контрагент в конфигурации называется tbl_Account. Ее запрос и датасет, соответственно, sq_Account и ds_Account

Для того, чтобы добавить в нее валюты, необходимо создать в таблице поле CurrencyID, а в запросе - поля CurrencyID из tbl_Account и CurrencyName из присоединенной в запросе таблицы tbl_Currency

Запрос Накладные называется sq_OfferingMovement.

:twisted:
Пошел разбираться!

Без сто грамм не разберешься! :cry:

Таблицы нашел, но не совсем понятно.
В таблицу Контрагент поле валюта добавил.
в запросе сделал CurrencyID из tbl_Account.
Вот с CurrencyName не понял, есть только Name.

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

в скрипте датасета Накладные - аналогичная ситуация.

Для того, чтобы добавить CurrencyName, нужно сделать следующее:

1. В запросе sq_OfferingMovement добавить в блок FROM новый join - таблицу tbl_Currency:

currency

2. уже из присоединенной таблицы добавить CurrencyName:

currencyname

Добавил! Но есть вопрос.
На вашем фото видно что tbl_Currency Вы добавили в tbl_Account,
я пробовал сделать аналогично, но там где ON Join1 ID = tbl_Account. не выбирается поле CurrencyID (его там просто нет).
Так вот вопрос, tbl_Currency надо добавлять в tbl_Account и почему нет поля CurrencyID. Или же все таки tbl_Currency добавить необходимо в From. Вот фото того что я добавил:

И тогда прошу вас дать следующие комментарии:
Как создать вычисляемое поле суммы в валюте контрагента?
И как в скрипте датасета Накладные прописать вычисление поля в зависимости от того, какая валюта указана в карточке контрагента?

C уважением, Дмитрий Смирнов!

Здравствуйте!

Таблицу tbl_Currency действительно нужно присоединять к tbl_Account (как показано на рисунке), потому что оттуда мы подтягиваем идентификатор CurrencyID, соответственно, это поле есть только в tbl_Account.

Для создания вычисляемого поля:

1. Создайте в датасете ds_OfferingMovement вычисляемое поле со следующими настройками:

111

2. Создайте обработчик события OnDatasetCalcFields

222

3. Добавьте в обработчик следующий программный код:

333

var dsCurrencyRate = Services.GetSingleItemByUSI('ds_CurrencyRate');
ApplyDatasetFilter(dsCurrencyRate, 'CurrencyID', Dataset('CurrencyID'), true);
Dataset('AmountCurrency') = Dataset('Amount') * dsCurrencyRate('Rate');

Вот еще пару уточняющих вопросов:
когда создаешь CurrencyID в Account
в tbl_Account тип данных - уникальный идентификатор?
в sq_Account поле будет tbl_Currency и Currency ?
в ds_Account создаем "строковое поле" Currency?

C уважением, Дмитрий Смирнов!

Здравствуйте, Дмитрий.

Когда создаешь CurrencyID в Account в tbl_Account, тип данных - уникальный идентификатор?

Да.

в sq_Account поле будет tbl_Currency и Currency ?

tbl_Currency и ID

в ds_Account создаем "строковое поле" Currency?

Да, строка. В ds_Account формат поля должен совпадать с форматом поля в tbl_Currency.

С наступающим праздником Вас!
С Днем Великой Октябрьской Социалистической Революции!

Показать все комментарии