Вход | Регистрация
    1  2  3  4  5  6   

Конкретные вопросы по lsFusion. Часть 2.

Конкретные вопросы по lsFusion. Часть 2.
Я
   CrushBy
 
14.10.19 - 21:08
В этой ветке только вопросы по lsFusion, без оценок и срача, что в сторону lsFusion, что в сторону 1С.

Для сравнения и троллинга есть отдельная ветка : OFF: lsFusion vs 1C. Раунд 3
 
 
   Пузан
 
301 - 23.10.19 - 17:39
(300) Примеры должны быть сквозные и понятные. У меня с MSDN почему-то не было никаких проблем, даже когда она была только на англицком. У вас скачешь как блоха туда сюда и нифига целостной картинки не складывается. Так захрена нужно ваше IN? Ок, оно группирует свойства. Где потом это используется и с какой целью?
   _DAle_
 
302 - 23.10.19 - 17:40
   Пузан
 
303 - 23.10.19 - 17:40
(300) Если это IN есть в примере, значит оно кому то нужно? Где описалово? Нету? Уберите из этого примера. Для IN напишите отдельный пример.
   _DAle_
 
304 - 23.10.19 - 17:42
(300) Кстати, видишь, как сработало переименование baseGroup в base? Люди думают, что IN base - это "в базе" :)
   Пузан
 
305 - 23.10.19 - 17:43
(302) Прикольно. Пример в логике предметной области и IN там же кратко описывается, а использование совсем в другом месте. Где ссылка из одного места в другое? Я конечно буду дальше изучать, но мало того что сам подход такое не ординарный, так еще и описалово никакое.
   Пузан
 
306 - 23.10.19 - 17:45
(304) Люди, кстати, нормально думают, в контексте. А вот примеры без объяснений чего и как и потом глумление над непонятливыми - это вам в минус большой.
   НиколаевГ
 
307 - 23.10.19 - 17:45
(300) А кто ещё то? Люди без ИТ-бекграунда вообще не поймут, а ИТ-шники, которые вот так сходу могут понять - изучать фузину не будут, нет там для них денег.
   _DAle_
 
308 - 23.10.19 - 17:47
(306) Вы меня, видимо, неправильно поняли. Я если и глумился над чем-нибудь в (304), то над нашим неймингом, уж точно не над людьми, читающими код.
   НиколаевГ
 
309 - 23.10.19 - 17:47
(306) А это не глумление, они просто не понимают, как это всё правильно делается. Типичные айтишники-гики.
   Bro
 
310 - 23.10.19 - 17:49
(308) ну там скорее вопрос к примерам написать код и не сделать пояснение странно. Хотя справедливости ради в доках что по 1с что по аксапте такое сплошь и рядом, но зачем на них равняться.
   Пузан
 
311 - 23.10.19 - 17:50
(309) Думаешь фузина это такой себе Линух в противостоянии Винде? Красноглазики против виндовых юзверей? Любое действие скриптом против двойного щелчка мыши? :)
   НиколаевГ
 
312 - 23.10.19 - 17:53
(310) Зачем вы себя с другими сравниваете? Чтобы самим нормально не делать, что-ли, раз другие не сделали?
   _DAle_
 
313 - 23.10.19 - 17:55
(295) Кстати, меня учили не так. Мне давали какой-то код примитивной программы на паскале (что-то вроде прочитать 10 чисел, посчитать сумму, вывести сумму) с минимумом комментариев, а потом говорили: "теперь напишите-ка, такое же, но чтобы она не сумму выводила, а произведение". И 25 задач за четверть в таком духе, короче, как котят в воду, кто-то выплыл (3 человека из 30). Я не говорю, что это было правильное обучение. Просто история из жизни :)
   Bro
 
314 - 23.10.19 - 17:55
(311) ну вот кстати, что что а вот проектировать Майкрософт умеет. Многие их продукты намерено сделаны чуть бедненько зато чистенько. То есть хоть какое то наличие архитекторов заметно, тогда как Линукс очевидный плод коллективного разума. Поэтомк ваша аналогия только если текстовое и визуальное программирование сравнивать. В остальном скорее наоборот.
   Пузан
 
315 - 23.10.19 - 17:55
(310) А надо не на чужие ошибки указывать, а со своими разбираться. 1С мне очень легко зашел, особенно v8, все-таки профильное образование ПОВТ и АСУ. У вас пока много не понятного, хотя и потратил только часа четыре. Но документация реально местами сильно сбивает с толку. Ну и мне некоторые вещи вводят в ступор такие как пробел в параметрах намерика - это же ну совсем уже. :)
   НиколаевГ
 
316 - 23.10.19 - 17:56
(311) Масштабы не те. Но гики от этого гиками быть не перестают
   НиколаевГ
 
317 - 23.10.19 - 17:58
(313) Если бы мы не были 1С-никами, ты, может быть, был бы прав. Но, у нас, 1С-ников, нет необходимости изучать фузину, а просто некий интерес, который, в случае больших затруднений, очень быстро пропадёт.
   Bro
 
318 - 23.10.19 - 18:05
(317) ну так вам же и сказали вы не фокус группа :) 1с чисто российское и бразильское явление. Тут скорее спортивный интерес.
   НиколаевГ
 
319 - 23.10.19 - 18:08
(318) Так а кто фокус-группа то, по-вашему?
   _DAle_
 
320 - 23.10.19 - 18:08
(317) Я специально подчеркнул, что это просто история. Я бы в ретроспективе не хотел бы, чтобы меня учили именно так, это было жутко неэффективно и нудно.
   Bro
 
321 - 23.10.19 - 18:21
(319) ну мировой рынок который куда более разнороден, и не привык к визуальному программированию к примеру (а точнее считает его неудобным)
   НиколаевГ
 
322 - 23.10.19 - 18:24
(321) Я понимаю, что вам нравится мечтать, но реальные проблемы, на которые мы указываем, надо исправлять.
   НиколаевГ
 
323 - 23.10.19 - 18:26
(320) А я вот так 1С изучал - взял список задач на сертификацию "специалист по платформе", и стал их решать. Прорешал, получил сертификат - и работать на реальное производство пошёл...
   Bro
 
324 - 23.10.19 - 18:27
(322) поверьте мы их помечаем, но и про фордовское "если бы я спросил людей, что им нужно, они бы ответили - более быстрая лошадь" тоже не забываем.
   НиколаевГ
 
325 - 23.10.19 - 18:34
(324) С того времени прошло 100 лет. И, знаешь, мир сильно изменился...
   pechkin
 
326 - 23.10.19 - 18:39
(325) только внешне. суть осталась  та же
   НиколаевГ
 
327 - 23.10.19 - 18:43
(326) Вот точно не для этой темы обсуждать такой вопрос. Вкратце - совсем не согласен с данным тезисом.
   Ещё1
 
328 - 24.10.19 - 20:46
Добавляю на форму кнопку в другом модуле, расширяя её. При этом хочу чтобы новая кнопка легла перед кнопкой "Добавить" под списком. Делаю так:

В главном модуле:
FORM ordersForm 'Заказы покупателей'
  OBJECTS o = Order
  ...
  PROPERTIES(o) NEWSESSION NEWEDIT, EDIT, DELETE
;

В модуле расширения:
EXTEND FORM ordersForm
  PROPERTIES(o) setStatusReadyToSend TOOLBAR
;

DESIGN orderForm {
  MOVE PROPERTY(setStatusReadyToSend(o)) BEFORE PROPERTY(NEWEDIT(o))
}

Компилятор ругается: Exception while starting logics instance: [error]:    Exchange:30:58 no viable alternative at input 'NEWEDIT'

Вроде смотрел по описанию языка и старался делать также. В демке ERP похожего примера не нашёл. В чём ошибка?
   Злопчинский
 
329 - 24.10.19 - 20:54
(230) "Сейчас вот обновил модули lsFusion до последней версии 3 beta, поработал по пару часиков каждый день, и вроде уже начинает нравиться."
- ясен пень, поприятнее стало. если бы 1Сники не пинали пенделями - то хз через сколько сделали бы.

в новом мне не нравитяс заголовки табличных форм (табличная часть документа) - шапка ТЧ очень высокая и никак не выделена визуально. очень неудобно, я бы сделал поменьше высотой и как-то выделил едино-стилистически
   Злопчинский
 
330 - 24.10.19 - 20:54
В зарубе - есть список документов поступления.
какая разница между кнопками "ОК" и "Закрыть" - на списке документов?
 
 Рекламное место пустует
   Злопчинский
 
331 - 24.10.19 - 20:55
заголовки ТЧ - хотя бы болдом выделили. или синим шрифтом.
короче - очень некузяво, сделайте как-то получше.
   Злопчинский
 
332 - 24.10.19 - 20:58
Список документов. Кнопка "обновить список" - она почему вынесена ИЗ "контекста" списка, то есть из "контейнера" (он даже рамочкой обрисован) где выполняются действия над списком документов (удаление/редактирвоание/отбор? почему "обновить" рядом с закрыть/ОК?
аболютно имхо нелогично.
   CrushBy
 
333 - 24.10.19 - 21:00
(328) Во-первых, нету такого действия NEWEDIT. Есть только NEW.
Во-вторых, в MOVE обязательно указывать в какой контейнер поместить. Вот тут проще всего посмотреть :
https://clip2net.com/s/44fW0ql
То есть нужно :
TOOLBAR(i) {
    MOVE ...
}
   Злопчинский
 
334 - 24.10.19 - 21:01
Список документов - на пиктограммах слева внизу под списком - подсказки на кнопках НАХРЕН В ДУГУ НЕ РАБОТАЮТ (шозабля?). В опере - навел мышку - подсказка проморгнула и все. даже не успеешь прочитать что/длячего.

у вас там как-то тетсируется что-то хотя бы в части UI?
   Злопчинский
 
335 - 24.10.19 - 21:07
(на примере зарубы).
Открыл текущие остатки.
нижний правый фрейм приходится кроллить горизонтально. херово. настроить свою пользовтаельскую ширину колонок (или сделать двойную строку) - что, совсем никаки???

и если я настроил форму - подогнал ширину столбцов под мне нуджное мышкой - хреняк, закрыл форму, открыл заново - ээээ.. как бы хотелось видеть в том варианте как я натсриавал по ширине колонок... а то как-то сильно уморочно каждый раз. Когда фес можно подстроить под специфику монитора/пользователя - это хорошо, нет - это плохо...
   Злопчинский
 
336 - 24.10.19 - 21:14
на зарубном примере хотя бы - сделайте на главноем окне в верхнем главном еню "кнопку" типа "Гид по клаишам" - жмакнуть и откроется краткий хелп по приемам нафигации - описание какие клавиши/мышки для типовых действий в формах/списках. А то я вот тыкаю мышкой привычно - какие-то неожиданные для меня "эффекты получаю".
типа гид:
список:
- добавит элемент в список - кнопка "Добавить" внизу справа списка
- редактировать элемент списка -кнопка "Редактировать" внизу справа списка
- одинарный жмак мышью на ячейке списка - тотот
двойной жмак на ячейке списка - тото..
.
как бы будет тестерам (нефузиновцам) гораздо легче привыкнуть/понять...
   Ещё1
 
337 - 24.10.19 - 21:14
(333) Сделано!
DESIGN ordersForm {
  TOOLBAR(o) {
    MOVE PROPERTY(setStatusReadyToSend(o)) FIRST {
      background = #FF00FF;
    }
  }
}

А насчёт NEWEDIT вы неправы, есть оно: https://paste.pics/15c2a85e9e96d240a7cebe59b493bb7f
   Ещё1
 
338 - 24.10.19 - 21:20
(329) Я тоже не даю им расслабиться, и здесь, и в Slack. Но пока на дизайн меньше смотрю, а больше на юзабельность и ошибки/недоработки. Дизайн то они переделают, раз собрались на React мигрировать.
   Ещё1
 
339 - 24.10.19 - 21:28
(334) Если у вас Опера - проверьте версию и обновите до актуальной (64.0.3417.73). Я ловил некоторые глюки в старой версии, типа открывалась форма документа пустой. Обновился - полёт нормальный.
   Злопчинский
 
340 - 24.10.19 - 21:44
(339) как бы - свежая стоит.
траблы с подсказакми на кнопках.
   Злопчинский
 
341 - 24.10.19 - 21:45
блин, расконнектился.
какой логин/пароль на зарубу?
   Злопчинский
 
342 - 24.10.19 - 21:46
(337) "..А насчёт NEWEDIT.." - спожники без сапог? ;-)
   Злопчинский
 
343 - 24.10.19 - 22:07
(офф) глянул сейчас в конфигураторе УНФ (на которую много ругается за огразчность и бедность) -порядка 250 справочников, 500 перечислений... дальше побоялся...
   Flyd-s
 
344 - 24.10.19 - 22:09
(341), у фузины нет логина и пароля на зарубу. В демо ERP guest guest. В базу PR создай нового пользователя если забыл
   Ещё1
 
345 - 24.10.19 - 22:14
(340) Да, у меня тоже было, мельтешение подсказок. Пока не словишь нужную позицию курсора, чтобы не мельтешила. Сейчас всё OK.
   Злопчинский
 
346 - 24.10.19 - 22:32
(345) Хрен там. Прорисовка форм вроде ок.
подсказки на кнопках - промаргивает, не видно
   Злопчинский
 
347 - 24.10.19 - 22:34
(344) вот еще косячок. зарубное задание - есть возможность "выйти". после выхода - активизиурется адрес в строке ....mуcompany\login - как результат - вход де факто "заблокирован". пока не уберешь логин... если логин не нужен - тогда на экране логина/пароля ничего не заполнять и жмакаем войти -должно пустить. однако - хрен вам.
   Ещё1
 
348 - 24.10.19 - 22:42
(346) У тебя Opera 64.0.3417.73 ? Если такая же, и всё равно ошибка, тогда не знаю.
(347) Попробуй anonymous без пароля. Этот пользователь у них по умолчанию добавляется всегда в пустую базу.
   Ещё1
 
349 - 24.10.19 - 22:44
Снова вопрос. Делаю экспорт в JSON объекта Order. Потом этот файл будет загружен в 1С. Мне для обратной связи нужен id выгружаемых объектов. У каждого бизнес-объекта есть первичный ключ, как его выгрузить в JSON с остальными данными?
   _DAle_
 
350 - 24.10.19 - 23:04
(328) >MOVE PROPERTY(setStatusReadyToSend(o)) BEFORE PROPERTY(NEWEDIT(o))

Сейчас для того, чтобы обращаться к специальным свойствам на форме после их добавления нужно им задать алиас. То есть в месте добавления на форму написать newEdit=NEWEDIT и в дизайне использовать BEFORE PROPERTY(newEdit).
   _DAle_
 
351 - 24.10.19 - 23:11
(334) Вот эти кнопки? https://ibb.co/WP1p1bx
   Ещё1
 
352 - 24.10.19 - 23:13
(350) Пробовал так, почему-то не прокатило. Но ладно, сделал по-другому. (337)

И ещё 1 вопрос: я вроде разобрался как сверстать из объектов JSON, и как сохранить текст на диск. Но как из свёрстанного текста получить текст для сохранения в файл?

      EXPORT exportOrder OBJECTS o = order JSON;
      SHOW exportOrder;
      WRITE exportOrder TO exchangeFolder() + 'order ' + date(order);
   _DAle_
 
353 - 24.10.19 - 23:13
(336) Да, такое бы не помешало
   _DAle_
 
354 - 24.10.19 - 23:18
   _DAle_
 
355 - 24.10.19 - 23:24
(352) Не совсем понял вопрос к сожалению. Спрашивается, как записать полученный json в файл на диске?
   Злопчинский
 
356 - 24.10.19 - 23:38
(348) да, последняя опера.
   Злопчинский
 
357 - 24.10.19 - 23:39
(351) угу. что значит Они, что значит ТРУЕ. То есть - ДА
   Злопчинский
 
358 - 24.10.19 - 23:41
(353) да, было бы хорошо. и про поля в шапках - поля вводс примитивных типов, поля ввода ссылочных типов итд.
ГИД.
   Злопчинский
 
359 - 24.10.19 - 23:42
(355) не, как в джсоне прописать внутренний системный ИД, по которому при обратных обменах из 1С в фузину будет идентифицироваться фузиновский прикладной бизнес-обьект.
   Ещё1
 
360 - 24.10.19 - 23:43
(354) Точно! Я помнил про VALUE, но не подобрал правильный синтаксис. Вот так прошло:
  PROPERTIES(o) 'id' = VALUE, date, amount, ...

(355) Да. Вот задача: сверстать JSON из объектов, и сохранить на Windows-сервер в указанную папку с указанным именем. Делаю:

      EXPORT exportOrder OBJECTS o = order JSON;
      fileName() <- exchangeFolder() + '_out/order ' + replace(STRING(date(order)), ':', '-');
      WRITE exportOrder TO fileName();

Так ошибка. Честно говоря, что-то у меня даже обычную строку не получается сохранить.
      WRITE 'My Text' TO 'd:/lsFusion/_out/myfile.txt';
Даёт AssertionError NULL.
   _DAle_
 
361 - 24.10.19 - 23:47
(360) EXPORT exportOrder OBJECTS o = order JSON;
В рeзультате выполнения EXPORT создается объект класса FILE, если не указано, куда его записать, он записывается в свойство System.exportFile. Теперь нужно вызвать WRITE
WRITE exportFile() TO fileName();
   _DAle_
 
362 - 24.10.19 - 23:48
(360) В WRITE не строчка же передается, а FILE
   Злопчинский
 
363 - 24.10.19 - 23:54
(361) "В рeзультате выполнения EXPORT создается объект класса FILE,"
то есть выполнения EXPORT - ВСЕГДА создается класс FILE?
откуда это следует/известно?
   _DAle_
 
364 - 24.10.19 - 23:58
(363) Да вроде как из документации по оператору EXPORT. FILE - это не файл на диске, это будет объект нашего класса FILE, с которым потом можно что-нибудь сделать, например куда-нибудь записать инструкцией WRITE, как в примере выше.
   Ещё1
 
365 - 25.10.19 - 00:00
(361) Спасибо, у вас получается объяснять!
JSON есть и записан в файл на диске. Но в нём вместо нормального имени для идентификатора класса стоит так:
"_OBJVALUE_Exchange_exportOrder_o":9108
А я ведь указывал в FORM exportOrder :
PROPERTIES(o) 'id' = VALUE
То есть конкретно задал как назвать это свойство при выгрузке ("id").
   _DAle_
 
366 - 25.10.19 - 00:04
(365) алиас - это id без кавычек. 'id' в кавычках - это знасение текстового заголовка по умолчанию
 
 Рекламное место пустует
   Ещё1
 
367 - 25.10.19 - 00:05
(366) Да, уже хотел написать, что сам разобрался. :)
   Злопчинский
 
368 - 25.10.19 - 00:05
(365) офф: закон больших чисел. в большой толпе неадекватов найдется кто-то адекватный ;-)
   Злопчинский
 
369 - 25.10.19 - 00:06
(366) хм.. то есть VALUE - это некий аналог 1Сного Обьект.Ссылка ..?
   Ещё1
 
370 - 25.10.19 - 00:09
(369) Это уникальный идентификатор объекта в БД. Целое число. Автоматически добавляется для любого бизнес-объекта в Фузине.
   Злопчинский
 
371 - 25.10.19 - 00:13
(370) тогда в обмены надо пихать вдобавок и ИД САМОЙ БАЗЫ. иначе по ошибке затняут не в ту базу и жопа получится. с Гуидами такая вероятность намного меньше.
(?)
   Ещё1
 
372 - 25.10.19 - 00:26
(371) Да, ключ уникален только внутри таблицы. (А может там сквозная нумерация по всем классам объектов в базе? Не хочу врать, может фузиновцы ответят).
И у них VALUE типа BigInt = 8 байт. А GUID кажись 16 байт. Учитывая, что он добавляется в каждую запись каждой таблицы, то как бы экономия памяти + скорость.
   Ник080808
 
373 - 25.10.19 - 00:27
(366) почему нет номера строки в документе? почему в фильтрах пристуствуют - удалить\обавить редактировать?
   _DAle_
 
374 - 25.10.19 - 00:29
(372) Сквозная
   Злопчинский
 
375 - 25.10.19 - 00:30
(373) ну, по хорошему номер строки - сущность избыточная для набора равноправных записей.
если номер строки рассматривать как ИД для связи с внешними информационными системами (например печатная форма накладной) - то да, его не хватает.
   Ещё1
 
376 - 25.10.19 - 00:30
(374) Ага, это хорошо. Значит, теоретически для нахождения бизнес-объекта в БД можно обойтись без его класса, только id.
   Злопчинский
 
377 - 25.10.19 - 00:32
с этой точки зреняи фузина позволяет гибчее строить, но гораздо больше времени уделять продумыванию (ничто не дается даром). не сделал ты для документа ключ по которому можно сортировать по хронологии создания или учета документа - и все, жопа. забодаешься искать документ в неупорядоченной последовательности (журнале)
   Злопчинский
 
378 - 25.10.19 - 00:33
(376) с другой стороны - это удлиняет поиск. придется искать номенклатуру по 30 Гб, вместа поиска в однйо табличке на 3МБ. ну да, индекс... быстро вроде... Но.. курочка по зернышку...
   _DAle_
 
379 - 25.10.19 - 00:33
(373) Можете подробнее про фильтры? Где именно "удалить, добавить, редактировать"? Кнопки добавить, редактировать, удалить обычно в правом нижнем углу формы, относится это к объектам, а не к фильтрам.
   Ещё1
 
380 - 25.10.19 - 00:35
(375) Я б сказал, необязателен. Но в табличных частях документов крайне желателен, и на экране, и при печати. Его то и добавить несложно. Причём можно сохранять изначальную нумерацию после удаления строк из середины списка. А можно сделать перенумерацию при сохранении, после всех удалений и сортировок. Как в ТЗ напишут.
   Ещё1
 
381 - 25.10.19 - 00:38
(377) ключ по хронологии создания - это тот самый VALUE, присутствующий изначально во всех объектах.
   Злопчинский
 
382 - 25.10.19 - 00:41
я вот смотрю. фузина очень хорошо (имхо) подошла бы для создания WMS. Правда мне ничего непонятно, насколько богаты конструкции языка для всяких вычислительных действий. с учетом что интерактивная работа с WMS (бегунки и операторы) в основном нетребовательна к вычислениям в оперативном режиме, а там где это надо массово вычислять - есть некие ресурсы времени (и вычисляется все как я понял на самой СУБД средствами субд вся математика делается, то есть даже 123/12 - вычисляет на стороне БД) - то должно получиться весьма неплохо. И интерфейсный подход хорошо сюда кладется. Но непонятно, что WMS это по большей части бешеные обьемы умножения/сложения/вычитания/обединения/итд куч таблиц - насколько хорошо это получается без возможности тонокой настройки на уровне олптимизации запросов к базе.

так что если фузиновцы - соберетесь пилить WMS (нормальную вмс) - как белорус белорусам - зовите, поконсультрую (хоть даже с выездами, без проблем) за мзду.
   Злопчинский
 
383 - 25.10.19 - 00:43
(379) я выше писал - почему у вас кнопка "обновить" (список) - лежит возле кнопок закрыть/ОК, а не в контенйере где кнопки/команды работы со списком?
.
и какая разница в списках между кнопками "ОК" и "ЗАкрыть"..?
   Ещё1
 
384 - 25.10.19 - 00:44
(378) Вот этот момент не понял. И в Фузине VALUE, и в 1С GUID уникальны в пределах БД. Только 1С ещё учитывает возможность кластерных решений с несколькими базами. Не знаю, как это Фузина разруливает, и возможно ли, но для меня это неактуально (кластера БД). Зато в Фузине VALUE мы знаем точно, что инкрементируемый, а значит более новые записи ВСЕГДА имеют большее число в VALUE. Т.е. этот идентификатор можно использовать не только как ключ, но и для сортировки по времени создания объекта БД.
   Злопчинский
 
385 - 25.10.19 - 00:45
(381) тут еще хоть убабахайся, в бизнес-задачах нужен будет ключ для упорядочивания по хронологии учета.
(тут фузиновцы если бы хорошо подумали, могли бы утереть 1су, реализовав схему беззаднепроходной работы, то есть имея период регистрации и период учета ...)
   Злопчинский
 
386 - 25.10.19 - 00:48
(380) угу. у меня например в заявках напряду со служебным номеромстроки (штатный в 77, просто номер строки по порядку в текущем представлении ТЧ), есть ОПС (оригинальный порядок строк) по данным покупателя. Потому что некоторым надо выплевывать не просто данные по товару, а именно в строгой последовтельности ИХ нумерации исходных строк ихневых. и как раз тут и удаленные строки с пропусками в нумерации ОПС и - внезапно - позвонили по ТЛФ и срочно надо добавить еще два товара! вопрсо встречный - а ккие номера строк это будут?! - повергает покупателя в ступор ;-).
   _DAle_
 
387 - 25.10.19 - 00:48
(384) Я сейчас не совсем уверен, в том что скажу, но все же у нас явно нигде не гаранируется, что объект с большим идентификатором был создан позже, чем объект с меньшим. То есть оно то так, конечено, будет в большинстве случаев, но я бы не строил на этом серьезную логику, где это важно. Если я не прав, надеюсь, меня поправят.
   _DAle_
 
388 - 25.10.19 - 00:49
(383) >я выше писал - почему у вас кнопка "обновить" (список) - лежит возле кнопок закрыть/ОК, а не в контенйере где кнопки/команды работы со списком?

Видимо, потому что она относится ко всей форме, а не к "списку".
   Злопчинский
 
389 - 25.10.19 - 00:50
(384) "и в 1С GUID уникальны в пределах БД" - кто тебе такое сказал? в типовых - может быть. но это совсем необязательно. (может на меня помрочение нашло)
   Злопчинский
 
390 - 25.10.19 - 00:52
(388) "Видимо, потому что она относится ко всей форме, а не к "списку"."
- хм... видимо да. так как у вас один и тот же обьект (и не только строки ТЧ документа нпример но и шапку документа) могут одновременно реадктировать туеву хучу людей. То да, такая логика имеет смысл. непривычно просто (в 1С по идее тожне можно аналогично перечитатать весь обьект/форму, но обычно этого не делают для типовых решений)
   Ещё1
 
391 - 25.10.19 - 00:54
(387) Я это почерпнул где-то из примера кода для регистров накопления, который приводил Bro или Краш. В документации этого нет. С другой стороны, 1С тоже не гарантирует: "Хотя уникальность каждого отдельного GUID не гарантируется, общее количество уникальных ключей настолько велико (2^128 или 3,4028*10^38), что вероятность того, что в мире будут независимо сгенерированы два совпадающих ключа, крайне мала."
   Злопчинский
 
392 - 25.10.19 - 00:55
(387) ИД у вас когда генерится? в момент создания обьекта или в момент записи?
если в момент создания - то однозначно гарантий вообще никаких нет.
если в момент записи - то тут я не спец, определяется наверно всякими уровнями транзакций и блокировок. и в общем случае - тоже нет гарантий.
   _DAle_
 
393 - 25.10.19 - 00:55
(390) Не, я не это имел ввиду. Просто, например, если на форме несколько таблиц, то этой кнопкой обновляются все.
   Злопчинский
 
394 - 25.10.19 - 00:59
(393) а не таблицы (поля шапки документа например на однйо форме с таблицей) - они как обновляются?
   _DAle_
 
395 - 25.10.19 - 01:01
(392) Я бы представил гипотетическую ситуацию, когда кто-нибудь каким-то образом похерил данные в базе, и старые объекты пришлось пересоздать или копировать, id будут новые, но вряд ли это логически тогда будет верным. А так в идеальной ситуации, без всяких проблем, они будут идти в порядке времени создания.

(394) Той же кнопкой.
   Ещё1
 
396 - 25.10.19 - 01:01
(389) Лучше я не буду лезть в глубь, а дам ссылку на описание GUID.  http://catalog.mista.ru/public/635159/
   Злопчинский
 
398 - 25.10.19 - 01:44
(395) "той же кнопкой"
я ничего (пока и скорее всего навсегда уже ;-) не рублю в ООП и прочих ..ия..изм..ие.
допустим
- РазрабА в форме1 опеделил класс/обьект "ДокументА"(хранится в базе) как совокупность неких реквизитов.
- РазрабБ в форме2 унаследовал "ДокументА" и доопределил его как ДокументАа=(ДокументА,ТабличнаяЧасть)(хранится в базе) и установил "связь" что при изменении реквизита шапки Реквизит1 пересчитываются некие реквизиты ТабличнаяЧасть.
.
?55: если пользовательА в форме1 ДокументА изменил Реквизит1 - ТабличнаяЧасть для ДоекументАа в базе пересчитается? (тут я хз)

?66: если пользовательБ в форме2 ДокументАа изменил Реквизит1 - ТабличнаяЧасть для ДоекументАа в базе пересчиталась, Реквизит1 в ДокументА - тоже изменился (полагаю что да).

?77: в какой момент пересчитанная табличнаяЧасть сохраняется в базе? в момент закрытия/записи формы документа? или непосредственно сразу после пересчета при открытой форме документа?

?88: возможна ли такая ситуация при конкруентной работе разных пользователей с формой1 и формой2 (или вообще с пофиг какими формами, главное что с одним и тем же документом) - что, например. в шапке будет указана ставка НДС20%, а в ТЧ - расчет сделан по 10%).
т.е. является ли документ как совокупность реквизитов гапки и ТЧ документа неделимым и цельным обьектом с точки зрения бизнес-логики? или потенцуиально возможна ситуация когда шапка документа живет сама по себе, а табличная часть сама по себе. и связь между ними не здана жестко на уровне всей базы, а определяется только тем, какая форма используется?
   НиколаевГ
 
399 - 25.10.19 - 05:57
(389) Да, можно спокойно создать документ и справочник с одинаковым GUID.
   НиколаевГ
 
400 - 25.10.19 - 05:59
(382) Да, ложится неплохо. Но вот не осилили они. А с нуля сейчас писать есть ли смысл, при наличии на рынке того-же Инстока и кучи WMS на 1С?
  1  2  3  4  5  6   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.