|
![]() |
#1 |
Участник
|
![]() Цитата:
Сообщение от sukhanchik
этот код и модифицирует данные не на форме.
Цитата:
Структура словаря банальная:
код таблицы в Аксе, 0, таблица в Аксе, таблица в SQL. код таблицы в Аксе, код поля в Аксе, поле в Аксе, поле в SQL. Названия в Аксапте соответствуют названиям в SQL. Ограничены 40 символами. Названия, более 30 символов усекаются до 30 и к ним дописывается пятизначное число - код поля в Аксе ![]() Теперь продолжим. Есть ли в Аксапте данные (уверен есть), находящиеся в связанных таблицах. Например счет на товары расположен не в одной же таблице, полагаю, а в двух - шапка счета (дата операции там, контрагент) и табличная часть (товары). Как называются таблицы счета? |
|
![]() |
#2 |
Administrator
|
Цитата:
Сообщение от Гений 1С
Вы меня не поняли - это код, редактирующий данные из базы данных, но которые привязаны/покаызваются к/в форме, так?
Цитата:
Сообщение от Гений 1С
Ну вот видите, а вы говорите - аксапта простым смертным без документации не понятна, все ясно излагаете.
![]() ![]() Цитата:
Сообщение от Гений 1С
Например счет на товары расположен не в одной же таблице, полагаю, а в двух - шапка счета (дата операции там, контрагент) и табличная часть (товары).
Как называются таблицы счета? Именуются они по аглицки - переводятся по логическому названию. Например Заказы - есть шапка - SalesTable и строки SalesLine. Но на самом деле в форме заказов торчат 3 таблицы - а не 2. И вот тут уже начинаются затруднения - в том, чтобы объяснять просто, для так сказать новичков. Потому что надо будет в таком случае рассказывать - откуда растут ноги и почему именно так организована структура. И как формируется тот же счет. И что из себя представляет складская аналитика в Аксапте - и почему она торчит 3-й таблицей в заказах. Ибо к примеру разноска (проведение по 1С-овски) делает записи в N таблицах. А есть формы и большим количеством датасорсов.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 06.05.2006 в 13:58. |
|
|
За это сообщение автора поблагодарили: mazzy (15). |
![]() |
#3 |
Участник
|
![]() Цитата:
Это неважно. Код - един.
![]() Цитата:
Просто доношу так, чтобы было понятно даже простым сметртным. Хотя в душе - согласен с Mazzy - в плане бестолковости такого подхода к написанию статьи. Ну да Бог с ним. Меня с этого не убудет
![]() ![]() Цитата:
А вот тут уже затрагивается функционал. Это уже не просто разработка. Да, конечно такого рода данные (не хочу называть их документами - это не по аксаптийному) располагаются в двух и более таблицах.
Именуются они по аглицки - переводятся по логическому названию. Например Заказы - есть шапка - SalesTable и строки SalesLine. Но на самом деле в форме заказов торчат 3 таблицы - а не 2. И вот тут уже начинаются затруднения - в том, чтобы объяснять просто, для так сказать новичков. Потому что надо будет в таком случае рассказывать - откуда растут ноги и почему именно так организована структура. И как формируется тот же счет. И что из себя представляет складская аналитика в Аксапте - и почему она торчит 3-й таблицей в заказах. Ибо к примеру разноска (проведение по 1С-овски) делает записи в N таблицах. А есть формы и большим количеством датасорсов. Теперь продолжим далее (вернее начнем с начала, но уже на конкретных данных). Когда заказ делается активным/проведенным? Можно ли это сделать в аксапте SQL-подобным запросом UPDATE Set active=true WHERE Sales_id=..., т.е. привязан ли триггер к таблице SalesTable или же обращение идет через некоторый класс типа Record, т.е.: Record.Get(Sales_Table, Sales_id=...) Record.Active=true Record.Save |
|
![]() |
#4 |
Administrator
|
Цитата:
Сообщение от Гений 1С
Когда заказ делается активным/проведенным?
Можно ли это сделать в аксапте SQL-подобным запросом UPDATE Set active=true WHERE Sales_id=..., т.е. привязан ли триггер к таблице SalesTable или же обращение идет через некоторый класс типа Record, т.е.: Да, в X++ есть SQL-подобные конструкции аналогично 1С 8.0 - но это неполноценный SQL (как в 8.0) - а его некоторый кусочек (большей частью SELECT). И это не врезка языка SQL - а именно SQL-подобные конструкции. В тех ссылках которые я приводил - там есть код обновления данных в таблицах. Просто в отличии от 1С - в Аксе есть понятие - табличная переменная - содержащая в себе текущий курсор. У заказа есть ряд статусов (поле статус). Каждое значение статуса - соответствует некоторому состоянию заказа, в котором генерятся некоторые записи в различных табличках. Разнесенный заказ - также имеет свой статус. За разноску отвечает пачка классов, которая все и делает. Разносится заказ по кнопке Разноска ![]() Интересно - какая каша сложилась об Аксапте в результате этого флейма ![]()
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 06.05.2006 в 14:41. |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от sukhanchik
В Аксапте таблица является объектом - как класс. У таблицы есть свои методы. В т.ч. у таблицы есть методы update, insert, delete, которые обновляют данные. Экземпляр класса=записи в таблице.
Предположим простейшая задача - пишу обработку, которая в заказе увеличит цену на 10%, но только по одному конкретному указанному контрагенту ![]() Значит верно ли я думаю, что в аксапте получаем некий курсор из таблицы Sales_Talbe, где содерждатся заказы по контрагенту, затем получаем одним запросом все строчки, принадлежащие этим таблицам или, наоборот, перебираем по одному заказу и получаем для него все строчки, ну и далее изменяем цену. Ну и соответственно после завершения вызов метода update у выборки строк. Пока я правильно иду? ![]() |
|
![]() |
#6 |
Administrator
|
Цитата:
Сообщение от Гений 1С
Предположим простейшая задача - пишу обработку, которая в заказе увеличит цену на 10%, но только по одному конкретному указанному контрагенту
![]() Значит верно ли я думаю, что в аксапте получаем некий курсор из таблицы Sales_Talbe, где содерждатся заказы по контрагенту, затем получаем одним запросом все строчки, принадлежащие этим таблицам или, наоборот, перебираем по одному заказу и получаем для него все строчки, ну и далее изменяем цену. Ну и соответственно после завершения вызов метода update у выборки строк. Пока я правильно иду? ![]()
__________________
Возможно сделать все. Вопрос времени |
|
Теги |
сравнение систем, 1c |
|
|