06.05.2006, 15:48 | #61 |
Участник
|
Цитата:
Сообщение от Recoilme
Бизнес-логика не отрабатывает!!?? Как это реализовано?
Так вот при обмене данными УРБД могут переноситься не только первичные документы (операции) но и связанные с ними движения. Следовательно бизнес логике не нужно отрабатывать. Т.е. если документ имеет такие движения в базе-источнике: Остаток товара на складе Х уменьшился на 10. Контрагенту Иванов должен нам еще 100 рублей. То они так и перенесутся вместе с документом в базу-получатель. А в 80 их можно переносить и без документа (если конечно смысл есть). |
|
06.05.2006, 15:49 | #62 |
Administrator
|
Цитата:
Сообщение от Гений 1С
1. Могу ли я сделать штатно (или написать класс), которому передаю id записи из Sales_Table, она считывает все связанные строки из всех табличных частей в один объект в памяти, чтобы можно было в памяти его исправить и сделать обратную запись? (аналог документа в 80)
Далее - по хорошему - этот код оформляется в класс, которому дается указание создаться на сервере. Соотв этот код отрабатывает на сервере. Т.е. в память как в 1С ничего не грузится. Хотя в принципе - возможно (и нужно с помощью специальных механизмов) при массовой вставке данных действовать через память Цитата:
Сообщение от Гений 1С
2. Хранятся ли в базе данных некие метаданные, где описывается, что таблица Sales_Line ссылается на Sales_Table в отношении M:1 (думаю такая информация может храниться в описании ключа таблицы Sales_Line). Кроме этого, можно ли получить из Sales_Line отдельные списки: табличных частей и таблиц, в которых генерятся некоторые записи в различных табличках (ну так выразился один из участников или движения по 1С). Эти таблицы тоже соотносятся с Sales_Table в отношении 1:М, но имеют другое назначение. Может ли программа на Axapte узнать, какая из связанных таблиц является табличной частью, а какая - движениями или еще чем-то?
Чтобы узнать про таблицы в которых хранятся проводки обычно действуют так (если не знают как они называются): Вариант 1: Открываем форму в которой отображаются данные из этих таблиц. Из формы можно достучаться до таблицы. Вариант 2: Идентифицируем по названию (ну как SalesTable - заказы) Вариант 3: Строим перекрестные ссылки. Они показывают - что где и в каком виде используется в коде, связях и пр.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 06.05.2006 в 15:52. |
|
06.05.2006, 15:57 | #63 |
Участник
|
Цитата:
Если действовать в рамках как принято в Аксапте - то это делается через транзакции. Т.е. открывается транзакция, далее идет цикл по курсору с обновлением (вызовом update()), затем транзакци закрывается. Очевидно - что пишется либо все либо ничего.
Далее - по хорошему - этот код оформляется в класс, которому дается указание создаться на сервере. Соотв этот код отрабатывает на сервере. Т.е. в память как в 1С ничего не грузится. Хотя в принципе - возможно (и нужно с помощью специальных механизмов) при массовой вставке данных действовать через память Вот здесь методическая разница видна. Окей, вопрос прояснен. Цитата:
У таблицы (это же объект) есть такие понятия как Relations (отношения) - которые делают намеки на это. Эти же понятия присутствуют и в расширенном типе данных. Он тоже может показывать информацию
Чтобы узнать про таблицы в которых хранятся проводки обычно действуют так (если не знают как они называются): Вариант 1: Открываем форму в которой отображаются данные из этих таблиц. Из формы можно достучаться до таблицы. Вариант 2: Идентифицируем по названию (ну как SalesTable - заказы) Вариант 3: Строим перекрестные ссылки. Они показывают - что где и в каком виде используется в коде, связях и пр Вообще выяснять что означает таблица через форму - ИМХО явное извращение, возможно только в системах, где формы годами не меняются. По крайней мере в этом вопросе в 1С лучше. Хотя казалось бы, почему бы Аксапте не помечать типы таблиц в некой служебной таблице, как она это делает с именами таблиц? Ну видимо, т.к. у Аксапты стабильное ядро (в отличие от 1С, где таблицы могут быть разными), программист в коде может сам указать что значит какая таблица, ориентируясь на заранее известные имена. Но в этом вобщем говоря, недоделка Аксапты, хотя наверное аксаптерам она не сильно жить мешает. Последний раз редактировалось Гений 1С; 06.05.2006 в 16:01. |
|
06.05.2006, 15:59 | #64 |
Участник
|
Если не затруднит, еще вопрос по статусам.
У документа в 1С есть такие статусы: Проведен-Не проведен. Помечен на удаление. Помеченный на удаление не может быть проведенным, но может быть снят с удаления. Проведенный может быть снят с проведения и наоборот. Движения могут быть только у проведенного документа. Проведенный документ можно еще раз провести - при этом в одной транзакции он сначала снимается с проведения, потом проводится. Как с этим в аксапте? |
|
06.05.2006, 16:06 | #65 |
Участник
|
Цитата:
Сообщение от sukhanchik
С другой стороны - в Аксапте - вследствии того, что вся логика максимально вынесена в классы и на таблицы - очень легко присланные изменения внедрить в базу. Просто надо положить файлик и перестроить индекс. Ручками только придется визуальный интерфейс подправить (Drag&Drop-ом). И то - это еще под вопросом. Если это не критично - можно это сделать потом.
|
|
06.05.2006, 16:08 | #66 |
Administrator
|
Цитата:
Сообщение от Гений 1С
А вот для этого в 1С есть метаданные, которые описывают назначение таблиц и для выяснения who is who обращаются к метаданным без всяких анализов.
Вообще выяснять что означает таблица через форму - ИМХО явное извращение, возможно только в системах, где формы годами не меняются. По крайней мере в этом вопросе в 1С лучше. Хотя казалось бы, почему бы Аксапте не помечать типы таблиц в некой служебной таблице, как она это делает с именами таблиц? Ну видимо, т.к. у Аксапты стабильное ядро (в отличие от 1С, где таблицы могут быть разными), программист в коде может сам указать что значит какая таблица, ориентируясь на заранее известные имена. Но в этом вобщем говоря, недоделка Аксапты, хотя наверное аксаптерам она не сильно жить мешает.
__________________
Возможно сделать все. Вопрос времени |
|
06.05.2006, 16:08 | #67 |
Участник
|
Ну в общем и целом движок вроде как понятен... Особых нюансов по сравнению с 1С 80 нет.
А в чем преимущество движка(именно движка) аксапты по сравнению с 1С 80? Понятно, что скорее всего функционал (конфигурация, настройки) у аксапты вылизан многократно, а вот в чем преимущество движка? Или преимущество движка в расчет не идет? Вот предположим, что некий Х берет 1С 80, развивает ее N лет и получает Аксапту? Потому что движки более/менее одинаковые? Последний раз редактировалось Гений 1С; 06.05.2006 в 16:10. |
|
06.05.2006, 16:11 | #68 |
Участник
|
Цитата:
Сообщение от sukhanchik
описанные варианты - лишь предполагают как будет действовать программист (не система). А тут Вы правы - система предполагает - что названия таблиц меняться не будут. Тут нельзя забывать про то, что чем крупнее бизнес, тем более стандартны механизмы учета в нем. В связи с этим чем более крупных клиентов обслуживает та или иная система - тем меньше она (система) предполагает разработок. Отсюда и все последствия. Т.е. нельзя это назвать недоделкой. Это как вопрос - можно ли авто с правым рулем считать недоделкой? Дело привычки. Зато смотря на БД без Аксапты - хорошо понимаешь ее структуру
|
|
06.05.2006, 16:22 | #69 |
Administrator
|
Цитата:
Сообщение от Гений 1С
предположим, что некий Х берет 1С 80, развивает ее N лет и получает Аксапту?
__________________
Возможно сделать все. Вопрос времени |
|
06.05.2006, 16:28 | #70 |
Administrator
|
Цитата:
Сообщение от Гений 1С
Вот видите, мы потихоньку продвигаемся, исходя из возможных способов построения СУБД и даже не зная Аксапты. А вы не верили!
По статусам: Цитата:
Сообщение от Гений 1С
Если не затруднит, еще вопрос по статусам.
У документа в 1С есть такие статусы: Проведен-Не проведен. Помечен на удаление. Помеченный на удаление не может быть проведенным, но может быть снят с удаления. Проведенный может быть снят с проведения и наоборот. Движения могут быть только у проведенного документа. Проведенный документ можно еще раз провести - при этом в одной транзакции он сначала снимается с проведения, потом проводится. Как с этим в аксапте? Удалять очевидно также нельзя (если были проводки). Поэтому из вышеприведенного перечня остается только понятие проведен-не проведен. А это сильно зависит от места (я уже говорил - нет понятия документа). Например у заказа 4 статуса. У накладной на услуги - 2. У ПКО/РКО - 3. Более того - отсутствие распроведения - позволяет Аксе оставлять "аудиторский след", что в случае сертификации для выхода на IPO весьма нелишне. Напоминаю - что АКса - это изначально европейская система (Дания)
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 06.05.2006 в 16:31. |
|
06.05.2006, 16:31 | #71 |
Участник
|
Цитата:
Сообщение от sukhanchik
По технической части - да. Запросто. Только 1С 80 и Ax 3.0. За эти N лет Акса тоже может вырасти (со своей стороны). По сути - ее (Аксу) гораздо больше времени создавали (если вернуться к истории зарождения конкордов). И если 1С со своей стороны потратит на это столько же времени - то она также добьется своего.
Просто в 1С есть несколько программных прибамбасов, делающих программирование более абстрактным, но в принципе их когда-нибудь наверное реализуют и на аксапте. В общем спасибо за консультацию. То, о чем мы беседовали, я изложу в статье, может быть еще вернусь к этой теме. Главное для себя по аксапте я выяснил. Но сугубо мое ИМХО что как инструмент для создания конфигураций с нуля 1С более предпочтительна, чем Аксапта. А для производства и т.п. нужно смотреть функционал. Хотя ИМХО, опять же если нужен большой объем нестандартных доработок (того что нет в Аксапте, хотя разве такое есть), опять же из-за простоты программирования 1С идет больше. Ну можно я сделаю реверанс любимой платформе? В общем, остались при своих. Аминь. |
|
06.05.2006, 16:37 | #72 |
Участник
|
Цитата:
Сообщение от sukhanchik
В Аксе изначально отсутствует понятие распроведения. Разнести можно только один раз. Корректировка только с помощью сторно (и то не везде).
Удалять очевидно также нельзя (если были проводки). Поэтому из вышеприведенного перечня остается только понятие проведен-не проведен. Более того - отсутствие распроведения - позволяет Аксе оставлять "аудиторский след", что в случае сертификации для выхода на IPO весьма нелишне. Напоминаю - что АКса - это изначально европейская система (Дания А ручками (т.е. кодом) нельзя подковырнуть? В смысле залезть в таблицы, удалить движения, сделать непроведенным? Цитата:
А это сильно зависит от места (я уже говорил - нет понятия документа).
Например у заказа 4 статуса. У накладной на услуги - 2. У ПКО/РКО - 3. |
|
06.05.2006, 16:39 | #73 |
Участник
|
Цитата:
Сообщение от Гений 1С
если нужен большой объем нестандартных доработок
Затраты на разработку/поддержку могут значительно превышать первоначальную стоимость системы.
__________________
Axapta v.3.0 sp5 kr2 |
|
06.05.2006, 16:44 | #74 |
Участник
|
Вот мой товарищ по 1С в одной из веток задавал вопрос по ФИФО, можно я его немножко переиначу.
Операции: поступление пиво 100 штук 1 маяВ 1С когда мы проводим операцию, она сразу же определяет что с чего списывается (правда для этого операции надо проводить в правильной хронологической последовательности). Правда ли что в аксапте нужно сделать калькуляцию склада по всем товарам за весь открытый период, чтобы получить распределение по FIFO? Предположим, что мы ошиблись и в поступлении от 1 мая не 100, а 10 штук, тогда распределение должно быть таким: поступление пиво 10 штук 1 маяЕсли я правильно понимаю, в аксапте мы не корректируем исходный документ, а вводим сторно и после него вводим правильный документ, так? Или сторно и есть документ, содержащий правильную информацию и указывающий, что он сторнирует другой, или же сторно указывает что именно нужно скорректировать в исходном документе. Правильно ли я понимаю, что распределение по FIFO исправится только после калькуляции склада за открытый период? И по ходу за закрытый период поменять уже ничего нельзя, так? |
|
06.05.2006, 16:46 | #75 |
Участник
|
Цитата:
Сообщение от AndyD
Может лучше в этом случае смотреть в сторону более других систем?
Затраты на разработку/поддержку могут значительно превышать первоначальную стоимость системы. Конечно, по-настоящему уникальных компаний и видов деятельности мало. Ну в общем нужно сначало посмотреть что есть на рынке, но если учет в таких областях у коллег ведется в Excel, надо брать 1С и не париться. |
|
06.05.2006, 16:48 | #76 |
злыдень
|
Цитата:
Сообщение от Гений 1С
Ну вот как в аксапте так и в 1с есть документ(операция) и связанные с ней движения, так?
Так вот при обмене данными УРБД могут переноситься не только первичные документы (операции) но и связанные с ними движения. Следовательно бизнес логике не нужно отрабатывать. Т.е. если документ имеет такие движения в базе-источнике: Остаток товара на складе Х уменьшился на 10. Контрагенту Иванов должен нам еще 100 рублей. То они так и перенесутся вместе с документом в базу-получатель. А в 80 их можно переносить и без документа (если конечно смысл есть). Себестоимость товара в расходной проводке будет рассчитываться в момент репликации или будет занесено значение себестимости рассчитанное в филиале??? Контроль наличия товара на остатках в момент внесения проводки через репликацию сработает или нет???????
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
06.05.2006, 16:54 | #77 |
Участник
|
Цитата:
Сообщение от Гений 1С
А ручками (т.е. кодом) нельзя подковырнуть? В смысле залезть в таблицы, удалить движения, сделать непроведенным?
Цитата:
Сообщение от Гений 1С
Можно на пальцах назвать эти статусы. Ну так, из любопытства, чтобы я понял, как они в 1С называются.
Открыто, Отобрано, Отгружено, Отменено. Цитата:
Сообщение от Гений 1С
В 1С когда мы проводим операцию, она сразу же определяет что с чего списывается
Цитата:
Сообщение от Гений 1С
Правильно ли я понимаю, что распределение по FIFO исправится только после калькуляции склада за открытый период
Цитата:
Сообщение от Гений 1С
Главное для себя по аксапте я выяснил.
|
|
06.05.2006, 16:55 | #78 |
Участник
|
И еще один мелкий вопросик. Вот у маззи я прочитал, что в табличных формах объекты (товары, контрагенты) чаще всего показываются по их коду. Вопрос: а есть ли у объекта, связанного с таблицей контрагентов, товаров метод что-то вроде Представление, который показывает, как именно отображать в формах данный объект - в виде кода или в виде наименования, переназначив который я могу изменять способ отображения объекта?
В 1С есть возожмность выбрать один из способов - код или наименование, метода такого к сожалению нет. Если такого метода в Аксапте нет, есть ли у формы таблички возможность перекрыть метод, который выводит код объекта и вместо него выводить наименование? У 1С 80 у элементов интерфейса ТабличноеПоле такая возможность есть. |
|
06.05.2006, 16:59 | #79 |
Участник
|
Цитата:
Сообщение от Recoilme
А причем тут бизнес-логика????
Себестоимость товара в расходной проводке будет рассчитываться в момент репликации или будет занесено значение себестимости рассчитанное в филиале??? Контроль наличия товара на остатках в момент внесения проводки через репликацию сработает или нет??????? так что какие проблемы? Обмен прошел - остатки изменились, делайте расчет калькуляции склада. А вот насчет себестоимости в филиале и в центральном офисе - как изволите. Если хотите СС из филиала - пожалуйста, исключите документы из филиала из перепроведения (калькуляции по вашему) и будет СС оттуда, хотите - перепроведеите все доки в центре и получите идеальную СС. Контроль остатков происходит на филиале - обычно они списывают со своего склада, у них все остатки по складу есть, зачем контроль в центре? |
|
06.05.2006, 17:03 | #80 |
Участник
|
Цитата:
А зачем, чтобы руководство и владельцев бизнеса запутать?
Цитата:
Никак они в 1С не называются, потому что в аксе статусы определяют состояние заказа а не техническую сторону обработки. Например, по заказу:
Открыто, Отобрано, Отгружено, Отменено. Цитата:
Ой ли. А если распределение по партиям при проведении выключено?
Цитата:
Термины другие, но понимаешь правильно. Хотя никто не мешает делать закрытие склада хоть каждый день.
Цитата:
Счастливый, я после полутора лет активной работы с Аксаптой начал понимать, как мало в ней разбираюсь.
|
|
Теги |
сравнение систем, 1c |
|
|