МГ: видео от 2010-07-16
Предлагаю вам посмотреть очередные 10 уроков, содержащих ответы на вопросы.
Сегодня разобрано несколько очень интересных вопросов, особенно рекомендую к просмотру ответ на вопрос №6.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.
1.По вопросу №6.
Необходимо добавить (для модуля формы): если вызов серверных процедур будет происходить не из клиентской, а из серверной, тогда
сбрасываться значения переменных не будут. Наверное сброс значения переменной происходит в момент возврата из серверной процедуры на клиентскую.
Например:
&НаСервере
Перем Тест;
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Тест = 100;
ВызовСервера1();
А = Тест; //Тест = 101
ВызовСервера2();
Б = Тест; //Тест = 102
КонецПроцедуры
&НаСервере
Процедура ВызовСервера1()
Тест = Тест+1;
КонецПроцедуры
&НаСервере
Процедура ВызовСервера2()
Тест = Тест+1;
КонецПроцедуры
2. По видео 5 дополнительный вопрос.
Если присвоить глобальной переменной, объявленной в модуле управляемого приложения, значение (для пользователя 1).
Тогда при работе приложения другого пользователя (пользователь 2) значение этой переменной будет равно значению переменной пользователя 1 или у каждого пользователя значение переменной будет своё?
И есть ли какая либо возможность обмениваться значениями переменных между разными сеансами работы пользователя?
1. Да, так и есть.
2. У каждого пользователя своя переменная, возможности обмениваться данными сеанса нет.
Только через объекты базы данных (регистры сведений, например).
Спасибо ASK и E.Gilev. Перенумерация отработала на ура.
Вопрос 7. А Если сбился нумератор у документов. а документы уже напечатали и к примеру отправили заказчику, как в этом случае поступить? При этом, старые переделывать нельзя, а новые должны нумероваться как и прежде.
Для документов обычно такой проблемы нет, так как используются принудительные префиксы.
можно проще? это вы про нумераторы имеете в виду?
Имею ввиду, что при присвоении номера документа, обычно ему присваивается префикс, в этом случае неважно, какие правки делал пользователь в номерах.
Есть исключение, его привел Илья выше..
А если номера были ПР00001, ПР00002, а стали вдруг ПР003, ПР004, ПР005. И необходимы чтобы следующий был ПР00003?
Поскольку префикс документов не должен печататься, то следующим должен быть номер ПР00006, верно?
Т.е. можно просто исправить вручную сбитые номера.
Если же префикс почему-то печатается (нетиповая конфигурация), то префикс “ПР” можно считать потерянным, поскольку нельзя править уже напечатанные документы.
Нужно завести префикс “Пр” и начинать нумерацию с “Пр0003”.
извините, вопрос 7: ваше решение немного неверное, вы же сказали, пользователь может случайно нажать “Ы”, а значит может нажать и любую другую букву или цифру… подход нужно сделать более сложным, для правильного решения поставленной задачи… это Вы так нас учили ;)
Здесь сложность в том, что неверность нумерации должен определить сам пользователь.
Ведь программно невозможно определить, что префикс “Ыы” является неправильным, а префикс “ПРк” корректным..
Поэтому и жестко ориентируемся на конкретный префикс..
Коды желательно от пользователей закрывать.
А-то они накосячат, но виноватым будет программист, как обычно.
:)
В 1С 7.7 иногда занимались перенумерацией справочников через использование “левого” префикса.
Т.е. в 1-ом цикле присваивались коды с “левым” префиксом через УстановитьНовыйНомер(“$-“).
А во 2-ом проходе эти коды переправлялись на нужный префикс с определенным порядковым номером: НовыйНомер = СокрЛП(УстПрефикс)+Строка(Формат(Счетчик,СтрокаФормата))
Да, не забыть это делать в транзакции.
Думаю, в 7 уроке можно все упростить:
После поиска “кривых” элементов для каждого из них выполнить метод
УстановитьНовыйКод(“0”) (естественно для объета, а не ссылки).
Действительно, хороший вариант!
Большое спасибо, получилось.
Всем доброй ночи.
Почему-то не качается вопрос №4.
Исправлено!