Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Баги чи недокументовані особливості (ньюанси) роботи із платформою , постимо та обговорюємо 4 страниц V  < 1 2 3 4 >          
alex040269 Подменю пользователя
сообщение 26.09.12, 10:24
Сообщение #41

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(vadim007 @ 26.09.12, 11:16) *
Еще одна особенность при обновлении измененных конфигураций. Давно сталкивался, и вот снова те же грабли:
Редактируем конфигурацию заказчика у себя. В неком документе имя реквизита ВидОплаты меняем на ФормаОплаты (так кажется более логично, т.к. он типа Перечисление.ФормаОплаты). Сохраняем конфу, приезжаем к заказчику, обновляем конфу. В окне "Объединение конфигураций" 1С честно предупреждает: ФормаОплаты: Объект добавлен; ВидОплаты: Объект удален, Возможна потеря данных!!!
Проверяем, правда-ли это - принимаем изменения, запускаем 1С, открываем документ - так и есть: реквизит ФормаОплаты у заказчика пуст!
Т.о., обновление в таких случаях нужно делать за два шага: непосредственно у заказчика изменяем имена реквизитов, если такое требуется, а затем обновляем конфу.

Это не баг, а правда жизни, т.к. 77, в отличие от 8, сравнивает объекты только по идентификатору, а не по внутренней ссылке sad.gif НО если переименовать в основной базу УРБД, то в периферийной тоже переименуется.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Cthulhu Подменю пользователя
сообщение 26.09.12, 14:40
Сообщение #42

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Цитата(vadim007 @ 26.09.12, 10:16) *
Еще одна особенность при обновлении измененных конфигураций. Давно сталкивался, и вот снова те же грабли:
Редактируем конфигурацию заказчика у себя. В неком документе имя реквизита ВидОплаты меняем на ФормаОплаты (так кажется более логично, т.к. он типа Перечисление.ФормаОплаты). Сохраняем конфу, приезжаем к заказчику, обновляем конфу. В окне "Объединение конфигураций" 1С честно предупреждает: ФормаОплаты: Объект добавлен; ВидОплаты: Объект удален, Возможна потеря данных!!!
Проверяем, правда-ли это - принимаем изменения, запускаем 1С, открываем документ - так и есть: реквизит ФормаОплаты у заказчика пуст!
Т.о., обновление в таких случаях нужно делать за два шага: непосредственно у заказчика изменяем имена реквизитов, если такое требуется, а затем обновляем конфу.


Не баг. Как "отче наш".

1. Обновление конфигурации "объединением" - синхронизирует метаданные по наименованиям (идентификаторам).
Если объект метаданных конфигурации (с таким же именем, как в конфигурации-обновлении) не найден - создается новый со всеми свойствами, как в конфигурации-обновлении.
Если объект метаданных конфигурации (с таким же именем, как в конфигурации-обновлении) найден - все есго свойства изменяются в соответствии с конфигурацией-обновлением.

2. Обновление конфигурации "загрузкой" (измененной конфигурации) - синхронизирует метаданные по внутренним Id.
Если объект метаданных конфигурации (с таким внутренним Id, как в конфигурации-обновлении) не найден - создается новый со всеми свойствами (вколючая внутренний Id), как в конфигурации-обновлении.
Если объект метаданных конфигурации (с таким же внутренним Ид, как в конфигурации-обновлении) найден - все есго свойства (включая идентификатор-наименование) изменяются в соответствии с конфигурацией-обновлением.

ПОЭТОМУ.
Загрузка в рабочую базу данных результатов и доработок, выношенных "на стороне".
1. Снять копию рабочей ИБ (на локальный комп или в иное "отдельное место").
2. На локальном компе или в ином "отдельном месте" (см.п.1). Накатить "объединением" без сохранения - получить список переименованных реквизитов (которые при объединении обозначаются как "новые").
3. В копии рабочей ИБ - переименовать такие реквизиты "как надо" по списку, сформированному (копипастой или ручкой) при выполнении предыдущего пункта. Сохранить изменения.
4. На локальном компе или в ином "отдельном месте" (см.п.1). Накатить "объединением" (убедившись в отсутствии "неправильно добавленных" объектов метаданных, которые "на самом деле" нужно просто переименовать). Сохранить.
5. На рабочей базе данных. Обновить конфигурацию "загрузкой измененной конфигурации" из файла метаданных (1cv7.md), полученного при выполнении п.4.
6. Снять копию обновленной рабочей - на локальный комп/ноут разработчика. При необходимости - накатить на неё "объединением" те изменения и доработки, которые не вошли в новую версию рабочей ИБ (при выполнении п.4 были сняты галки). И начиная с этого момента для ковыряний/доработок использовать именно эту базу (старую можно спилить).

Цитата(alex040269 @ 26.09.12, 10:24) *
Это не баг, а правда жизни, т.к. 77, в отличие от 8, сравнивает объекты только по идентификатору, а не по внутренней ссылке sad.gif НО если переименовать в основной базу УРБД, то в периферийной тоже переименуется.

77 в отличие от 8 сравнивает и по идентификаторам, и по внутренним Id - зависит от желания программиста (если программист недостаточно профессионален - от воли случая).
УРБД, получая в согставе очередного обмена изменения конфигурации (в виде упакованного 1cv7.md в составе файла автообмена) - выполняет именно "загрузку измененной конфигурации".

Сообщение отредактировал Cthulhu - 26.09.12, 15:14

sava1 Подменю пользователя
сообщение 26.09.12, 15:02
Сообщение #43

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2689
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(Cthulhu @ 26.09.12, 15:40) *
...

Поддерживаю

Cthulhu Подменю пользователя
сообщение 26.09.12, 15:39
Сообщение #44

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Цитата(Cthulhu @ 26.09.12, 14:40) *
ПОЭТОМУ.
Загрузка в рабочую базу данных результатов и доработок, выношенных "на стороне".

ха. ещё. это все - для простейшего случая ("линейные" доработки одним программистом).
в случае коллективной разработки - ест нюансы. в п.4. (плюс сам регламент коллективной разработки).
если надо - могу (как время будет) сви взгляды на эту тему расшифровать более подроно, и, наверное, в более соответствующем топике.

Vofka Подменю пользователя
сообщение 26.09.12, 15:48
Сообщение #45

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Уважаемые писатели данного топика!
Вам удобно все это писать и обсуждать в одной теме? Может создать подраздел где-то какой-то, или можно каждый полезный прием постить, например, тут в отдельной теме. А то получается каша. И чем больше в этой теме постов - тем больше вся полезная информация этой темы превращается в кашу.

Можно отвечать прям тут, а после обсуждения, если оно будет, мы решим что делать и мусор уберем.

Cthulhu Подменю пользователя
сообщение 26.09.12, 15:52
Сообщение #46

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Vofka
Тогда уж два подраздела.

Cthulhu Подменю пользователя
сообщение 19.11.12, 12:33
Сообщение #47

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Оживлю.
Общий реквизит документов типа "строка" неограниченной длины. Будучи НЕ последним в списке общих реквизитов (в дереве метаданных). В SQL-версии ведет к вылетам по внутренним SQL-ошибкам.
Отсюда - полезное универсальное правило:
На всякий случай. Всегда и везде. Общие реквизиты документов типа "строка" неограниченной длины в списке общих реквизитов дерева метаданных - смещать в самый низ списка.

Спасибо сказали: mister-x,

mister-x Подменю пользователя
сообщение 19.11.12, 12:52
Сообщение #48

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата(Cthulhu @ 19.11.12, 12:33) *
В SQL-версии

цей баг виявлено на sql 2000 SP4 чи і пізніших версіях?

Fynjy Подменю пользователя
сообщение 19.11.12, 12:59
Сообщение #49

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

Цитата(mister-x @ 19.11.12, 12:52) *
цей баг виявлено на sql 2000 SP4 чи і пізніших версіях?

На всех.


Signature

Спасибо сказали: mister-x,

mister-x Подменю пользователя
сообщение 17.12.12, 21:38
Сообщение #50

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

маємо:

ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,СписокСубконто,1,0);
ит.ВыполнитьЗапрос(НачалоПериода,КонецПериода,"361", , ,1,"День","С");
Ит.ВыбратьСубконто();
Пока ит.ПолучитьСубконто() = 1 Цикл
ит.выбратьПериоды();
пока ит.получитьПериод()=1 цикл
...

С-П:
Цитата
ВыбратьПериоды(<?>,,,)
Синтаксис:
ВыбратьПериоды(<ФлагВсе>,<ФлагДК>,<Номер>,<РазвСальдо>)
Назначение:
Открывает выборку периодов.
Возвращает 1 - если действие выполнено и в выборке есть хотя бы один период; 0 - если действие не выполнено или в выборке нет ни одного периода.
Параметры:
<ФлагВсе> - число: 0 - отбирать те счета, которые имели итоги на этом уровне обхода итогов запроса; 1 - включить в выборку все счета, которые имели итоги в данном запросе; -1, -2 : включить в выборку счета, которые имели итоги в группировке n-го вышестоящего уровня. По умолчанию - 0.
<ФлагДК> - число: 1 - включать в выборку счета только с дебетовыми оборотами; 2 - включать в выборку счета только с кредито-выми оборотами. 0 - включать в выборку счета вне зависимости от дебетовых/кредитовых оборотов. По умолчанию 0.
<Номер> - число - номер выборки. Если параметр не указан, выборке присваивается номер 0.
<РазвСальдо> - признак необходимости рассчитывать развернутое сальдо по субконто. Используется только если в запросе участвуют субконто. 1 - рассчитывать развернутое сальдо. 0 - не рассчитыть развернутое сальдо; По умолчанию 0.

Що маємо реально, якщо по даному контрагенту за вибраний період не було оборотів, то в цикл по періодах не заходить - тобто напр., початкове сальдо по дт = 30 = кін. сальдо по дт=30.
Якщо ж
ит.выбратьПериоды(1);

в цикл по періодах заходить, навіть, якщо маємо ситуацію із прикладу.
Тобто, або під цим
Цитата
<ФлагВсе> - число: 0 - отбирать те счета, которые имели итоги на этом уровне обхода итогов запроса;
мається на увазі, якщо були обороти за вказаний період по вказаному рахунку, а це
Цитата
1 - включить в выборку все счета, которые имели итоги в данном запросе;

взагалі не правильно описано. Або я щось не так зрозумів із опису даного методу.
Хтось з таким зустрічався?
ЗІ. СписокСубконто - список на формі, в списку може бути і група.

Сообщение отредактировал mister-x - 17.12.12, 21:40

XBrut Подменю пользователя
сообщение 04.06.14, 9:58
Сообщение #51

Статус
**********
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 254 раз
Рейтинг: 0

Знову про ОбработкаЯчейкиТаблицы()
Реліз платформи 27
1) робимо зовнішній звіт.
2) готуємо локальний виклик ОбработкаЯчейкиТаблицы() все як положено, щоб він працював.
3) а тепер переносимо створення Таб=СоздатьОбъект("Таблица") в модуль форми (вниз , щоб объект створювався під час компіляції)
...все. виклику ОбработкаЯчейкиТаблицы() нема smile.gif іде глобальний виклик.
П.С.
прошу товарішів перевірити.

Sanyk Подменю пользователя
сообщение 06.06.14, 12:06
Сообщение #52

Говорящий
***
Группа: Пользователи
Сообщений: 52
Спасибо сказали: 16 раз
Рейтинг: 0

Є таке. Зустрічався. Від місця, де розташована процедура "ОбработкаЯчейкиТаблицы()" в тексті, залежить, яка сама процедура буде викликатись (глобальна чи локальна).

XBrut Подменю пользователя
сообщение 07.06.14, 14:41
Сообщение #53

Статус
**********
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 254 раз
Рейтинг: 0

Цитата(Sanyk @ 06.06.14, 13:06) *
Є таке. Зустрічався. Від місця, де розташована процедура "ОбработкаЯчейкиТаблицы()" в тексті, залежить, яка сама процедура буде викликатись (глобальна чи локальна).

Я мав на увазі місце створення об'єкту "Таблиця", а не місце процедури ОбработкаЯчейкиТаблицы(). Поясніть , що саме бачили ви.

Sanyk Подменю пользователя
сообщение 10.06.14, 17:01
Сообщение #54

Говорящий
***
Группа: Пользователи
Сообщений: 52
Спасибо сказали: 16 раз
Рейтинг: 0

Мабуть в минулий раз я Вас не правильно зрозумів. В моїй практиці були ситуації щодо виклика локальної процедури "ОбработкаЯчейкиТаблицы". Якщо в тексті модуля локальна процедура знаходилась нижче від місця вмклику (виклик процедури не завжди виконується з таблиці), то викликалася глобальна процедура.

Взагалі я намагаюсь не описувати змінні внизу модуля форми, аби не мати проблем. (100 % проблеми гарантовані в модулі проведення документів при групових обробках, при чому є проблеми з змінними які описані знизу в глобальному модулі (наприклад, для ПУБ це таблиця глТбОперация, не завжди для нового документу видаляються старі записи))

Спасибо сказали: Домовик,

XBrut Подменю пользователя
сообщение 10.06.14, 18:05
Сообщение #55

Статус
**********
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 254 раз
Рейтинг: 0

Цитата(Sanyk @ 10.06.14, 18:01) *
Якщо в тексті модуля локальна процедура знаходилась нижче від місця виклику,то викликалася глобальна процедура.

smile.gif логічна, але неочевидна поведінка прогами.

alex040269 Подменю пользователя
сообщение 11.06.14, 7:34
Сообщение #56

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

//*******************************************
Процедура ПриОткрытии()

КонецПроцедуры

Таблица = СоздатьОбъект("Таблица");
Таблица.ИсходнаяТаблица("Таблица");


результат:
Цитата
Таблица.ИсходнаяТаблица("Таблица");
{D:\1С\7\ZP\EXTFORMS\1.ERT(7)}: Неверное имя Таблица


//*******************************************
Процедура ПриОткрытии()
    Таблица = СоздатьОбъект("Таблица");
    Таблица.ИсходнаяТаблица("Таблица");
    Сообщить("1");
КонецПроцедуры


результат:
Цитата
1


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

mister-x Подменю пользователя
сообщение 11.06.14, 9:38
Сообщение #57

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Таблица випадково не реквізит форми?

alex040269 Подменю пользователя
сообщение 11.06.14, 9:59
Сообщение #58

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(mister-x @ 11.06.14, 10:38) *
Таблица випадково не реквізит форми?

Таблица - Таблиця, яка існує в формі оброьки/звіту після створення!

Сообщение отредактировал alex040269 - 11.06.14, 10:26


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Спасибо сказали: Домовик,

mister-x Подменю пользователя
сообщение 11.06.14, 11:20
Сообщение #59

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

В СП:

Цитата
Таблица
Синтаксис:
Таблица
Назначение:
Атрибут (только для чтения) представляет собой ссылку на объект типа ''Таблица''. Доступ к данному атрибуту возможен только в контексте Модуля формы отчета или обработки. При настройке формы отчета (обработки), если табличный документ размещен непосредственно в форме (для этого в диалоге, вызываемом пунктом ''Свойства формы'' меню ''Действия'' в параметре ''Использовать таблицу'' выбирается вариант ''Пустую'' или ''Для ввода данных''), то доступ к такому объекту осуществляется через атрибут контекста формы отчета (обработки) Таблица.
Атрибуты и методы объекта ''Таблица'' позволяют в программном модуле управлять процессом формирования и визуального отображения таблицы в целом, а также изменять свойства визуального отображения отдельных областей таблицы.
В тексте программного модуля через точку после имени атрибута ''Таблица'' можно записывать адреса областей таблицы, а далее через точку можно вызывать методы управления свойствами этих областей.

отже, це слово в обробці чи в звіті зарезервоване - приклад використання в обробці "Информац. блок"

Сообщение отредактировал mister-x - 11.06.14, 11:20

mister-x Подменю пользователя
сообщение 15.11.15, 23:32
Сообщение #60

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Надибав цікаву статйку - [необходимо зарегистрироваться для просмотра ссылки], пригодиться.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


4 страниц V  < 1 2 3 4 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 05.05.24, 4:03
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!