Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Странное поведение после вызова функции

Привет Всем. Тут такая пргоблема, есть строка в коде:
ЧислоПослеОтбора = УстановитьОтборНаТаблицу(Текст,Совпадения,Объект.ДатаРождения);

где я вызываю функцию:
Совпадения - это ДанныеФормы коллекция. Остальное вроде понятно. Иток при возврате мне выдает такую ошибку:
{Справочник.Контрагенты.Форма.ФормаДобавленияФизЛица.Форма()}: Ошибка при установке значения атрибута контекста (Совпадения)
            ЧислоПослеОтбора = УстановитьОтборНаТаблицу(Текст,Совпадения, Объект.ДатаРождения);
по причине:
Нельзя изменять поле, содержащее объект данных формы
Я же ничего не изменяю в данных формы Совпадения

Функцию УстановитьОтборНаТаблицу(Наименование,Совпадения, ДатаРождения)
    
    Запрос = Новый Запрос;
    ПоследнийСимвол = Прав(Наименование,1);
    
    Пока ПоследнийСимвол = " " Цикл
        ДлиннаСтроки = СтрДлина(Наименование);    
        Наименование = Лев(Наименование,ДлиннаСтроки-1); 
        ПоследнийСимвол = Прав(Наименование,1);
    КонецЦикла; 
    
    
    Если  ДатаРождения = Дата(0001,01,01) Тогда
        
        Запрос.Текст =  "ВЫБРАТЬ
        |    Совпадения.Наименование,
        |    Совпадения.ДатаРождения
        |ИЗ
        |    &Совпадения КАК Совпадения
        |ГДЕ
        |    Совпадения.Наименование Подобно &Наименование";
    Иначе 
        Запрос.Текст = 
        "ВЫБРАТЬ
        |    Совпадения.Наименование,
        |    Совпадения.ДатаРождения
        |ПОМЕСТИТЬ СвопаденияВТ
        |ИЗ
        |    &Совпадения КАК Совпадения
        |;
        |
        ////////////////////////////////////////////////////////////////////////////////

        |ВЫБРАТЬ
        |    СвопаденияВТ.Наименование,
        |    СвопаденияВТ.ДатаРождения
        |ИЗ
        |    СвопаденияВТ КАК СвопаденияВТ
        |ГДЕ
        |    СвопаденияВТ.Наименование = &Наименование
        |    И СвопаденияВТ.ДатаРождения = &ДатаРождения";
        
        Запрос.УстановитьПараметр("ДатаРождения", ДатаРождения);
        
    КонецЕсли; 
    Запрос.УстановитьПараметр("Совпадения", Совпадения.Выгрузить());
    Запрос.УстановитьПараметр("Наименование", Наименование);
    
    Результат = Запрос.Выполнить();
    Таблица = Результат.Выгрузить();
    
    Возврат Таблица.Количество();
    
КонецФункции
Ответ: () Передавай параметр не по ссылке, а по значению. ТАк понятней?
Вопрос: Странное поведение адресации при программном закрытии формы

Объект задача.
На форме табличная часть.
Вношу туда пользователя.
По кнопке с кодом, выполняю задачу.
Если присутствует инструкция ЭтаФорма.Закрыть();
То почему то задача появляется в списке у всех пользователей.
Включая отправившего задачу.
Если инструкции ЭтаФорма.Закрыть(); нет, то задача адресуется только
адресуемому исполнителю. И появляется только у него в списке.
В чем может быть причина такого поведения?

||

Процедура ОсновныеДействияФормыЗадачаНаИсполнение(Кнопка)
Для каждого СтрИсп из Исполнители Цикл
Задача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
Задача.Дата = ТекущаяДата();
Задача.ВидЗадачи = ВидЗадачи;
Задача.Наименование = Наименование;
Задача.Исполнитель = СтрИсп.Исполнитель;
Задача.Модератор = Модератор;
Задача.ДатаВыполненияПланово = ДатаВыполненияПланово;
Задача.Записать();
КонецЦикла;
//ЭтаФорма.Закрыть();
КонецПроцедуры
Ответ:
А не пустая ссылка сюда попадает?
Задача.Исполнитель = СтрИсп.Исполнитель;
Вопрос: Проблема после обновления 1С:Бухгалтерия на релиз 3.0.43.50

Странная проблема... Может кто сталкивался:

Имеем:

- Конфигурация "1С:Бухгалтерия Предприятия 3.0" (3.0.42.91)(Конфигурация типовая без каких либо изменений)
- Платформа 1С:Предприятие 8.3 (8.3.7.1845)

Обновляем конфигурацию на 3.0.43.50). После этого появляется странный баг:

- Открываю справочник "Контрагенты".
- Открываю карточку Контрагента (Например "ООО АиС" или любого другого). НИЧЕГО не изменяю, нажимаю "Записать и закрыть"
- Появляется сообщение "Не удалось записать "ООО АиС (Контрагент)"

И так с любым контрагентом. Такое сообщение выскакиевает также при попытке пометить любого контрагента на удаление.

В "Журнале регистрации событий" на каждое сообщение об ошибке появляется такая запись:
---------------------
{ОбщийМодуль.ОбменДаннымиСобытия.Модуль(998)}: Ошибка определения модифицированности объекта: {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(1096)}: Ошибка при вызове метода контекста (Выполнить)
Возврат Запрос.Выполнить().Выгрузить();
по причине:
{(2, 123)}: Поле не найдено "ОсновнойДоговорКонтрагента"
ВЫБРАТЬ Код, Родитель, КодПоОКПО, НаименованиеПолное, ЮридическоеФизическоеЛицо, ПометкаУдаления, ОсновнойБанковскийСчет, <<?>>ОсновнойДоговорКонтрагента, Комментарий, Наименование, ЭтоГруппа, ИНН, КПП ИЗ Справочник.Контрагенты КАК ТекущийОбъект

ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
----------------------

Если создать новый элемент справочника "Контрагенты", то он создается и записывается. Но если его открыть и потом нажать "Сохранить" или "Сохранить и закрыть" опять вылезает описанная выше проблема.

Что сделано:
- Тестирование и исправление не выявило никаких проблем
- Запуск утилиты chdbfl.exe также проблем не выявил.

В чем может быть проблема?
Ответ:
--- Объединение сообщений, 17 янв 2016 ---
Обход:
Режим 1С:Предприятие - Регистры сведений - Правила обмена данными.
Для строк "ПравилаУправленияНебольшойФирмойБухгалтерия30" установить типовые правила -
(Нажать кнопку "Использовать типовые правила").
Вопрос: Странное поведение дерева значений.

Недавно надо было сделать простую вещь, вывести результат запроса в дерево значений.
И вот что получилось)


Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Группа", Справочники.БИТ_Номенклатура.ПустаяСсылка());
Запрос.Текст =
    "ВЫБРАТЬ
    |    БИТ_Номенклатура.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.БИТ_Номенклатура КАК БИТ_Номенклатура
    |ГДЕ
    |    ВЫБОР
    |            КОГДА &Группа = ЗНАЧЕНИЕ(Справочник.БИТ_Номенклатура.ПустаяСсылка)
    |                ТОГДА ИСТИНА
    |            ИНАЧЕ БИТ_Номенклатура.Ссылка В ИЕРАРХИИ (&Группа)
    |        КОНЕЦ
    |ИТОГИ ПО
    |    Ссылка ИЕРАРХИЯ";
    
Дерево = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    
ЗначениеВРеквизитФормы(Дерево, "Результат");



И вот результат

Как видно элемент дерева отображается как группа
Видимо я туплю короче...
Ответ: Да точно туплю "УПОРЯДОЧИТЬ" ведь...
Вопрос: Странное поведение регистра сведений при записи документа

Добрый день!

Имеем РС подчиненный регистратору, периодичность в пределах секунды. Измерения ФИО, ресурсы примечание строка и отказываю булево.

Добавляется из документа запись:
Код:
Если ДобавитьПримечание<>"" Тогда
        Набор = РегистрыСведений.ИсторияИзмененияПримечаний.СоздатьНаборЗаписей();
        Набор.Отбор.Регистратор.Установить(Объект.Ссылка);
        Набор.Прочитать();
        Запись = Набор.Добавить();
        Запись.Примечание = ДобавитьПримечание;
        Запись.Отказываю = Отказываю;
        Запись.ФизическоеЛицо = ПараметрыСеанса.ТекущийПользователь;
        Запись.Период = ТекущаяДата();
        Набор.Записать(Истина);
КонецЕсли;
Смотрю РС, запись присутствует. Записываю документ. Никакой код не исполняется.
Смотрю РС, запись отсутствует.
Ответ:
Не... объект уже имел свою ссылку в базе если ты об этом.
Вопрос: v7: Странное поведение видимости кнопки

День добрый!
Есть документ. В нем есть несколько слоёв (ну, по стандарту - шапка, табличная часть, подвал и пр.). На слое "Табличная часть" есть такая хитрая (я бы назвала другим словом :( ) кнопка... Эта кнопка копирует артикул номенклатуры в буфер обмена. Но эта кнопка должна (!!!) отображаться, если есть артикул номенклатуры.
Итак, слой - кнопка - видимость.
Для установки видимости код:

Функция ИнформацияОбАртикуле()
    
    ИнфоТекст = "";
    
    Если Номенклатура.Выбран() = 0 Тогда
        Форма.кнCopy.Видимость(0);
        Возврат(ИнфоТекст);
    Иначе
        Если (ПустоеЗначение(Номенклатура.АртикулПрайс) = 0) Тогда
            ИнфоТекст = СокрЛП(Номенклатура.АртикулПрайс);
        КонецЕсли;
        Форма.кнCopy.Видимость(1);
        Возврат (ИнфоТекст);
    КонецЕсли;
    
КонецФункции// ИнформацияОбАртикуле


И вылезла интересная фигня:
когда отображена табличная часть и происходит перемещение по таблице - все шикарно - есть кнопка, нет кнопки, есть кнопка... Но - если при наличии кнопки (т. е. есть артикул и кнопка должна быть видна), открыть другой слой (без таб. части) - кнопка остается на форме.
ЧЯДНТ?
Кнопка помещена на слой таблицы.
Спасибо.
Ответ: там все нормально сделано
берем строку с названиями слоев и устанавливаем видимость одной функцией,а если что-то не устроило,то явно устанавливпем вмдимость элемента,не заботясь о том,на каком он слое
Вопрос: Странное поведение Расчета себестоимости

Здравствуйте!
   Ввели тут новое начисление (ден.компенсация молока за вредность) и, сдается мне, что-то где-то напутали (. По обороткам все в порядке, а вот в "Ведомости по произв. затратам" видно, что, прежде чем закрыть эту сумму, Расчет себестоимости зачем-то ее удваивает (сначала дублирует на приход, а уже затем все получившееся - в расход).
   Начисление это в бухучете отражается 20.01.1/73.03
   Статья затрат: характер затрат - Прочие, Вид затрат - Оплата труда
Или тут в другом дело?
Ответ: () Базу распределения по этой статье посмотрите. В проведенном РСВ по кнопке перейти проще всего.
Вопрос: Странное поведение управляемой формы

Доброго утра, коллеги.

Взгляните на скриншот:
На последней странице с вертикальной группировкой 4 группы с горизонтальной.
Прикол в том, что при добавлении нового реквизита в "группу2" появляется огромная область между группами "группа2" и "группарасчетстоимости".
В вышестоящей группе есть лишь 1 подозрительное поле с неограниченной длинной строки и с отключенной видимостью. Расположение групп и элементов формы на данной закладке все в авто стоит.

Подскажите, куда копать?
ЗЫ: Ошибок размещения элементов формы конфигуратор не видит.
Ответ: Это выделение группы. В Такси оно тоже работает, но на одно состояние меньше (слабое кажись не отличается от следующего)
Вопрос: Как можно сравнить движения до и после проведения?

Есть ли какая-то красивая возможно стандартная процедура сверки движений до и после проведения?
Ответ:
Терпимо, но всё-таки задача странная..
Вопрос: После установки 8.3.10.2505 сеанс завершается

Здравствуйте!
После установки 8.3.10.2505 у пользователей завершаются сеансы через 15 минут после запуска и выдается вот такая ошибка:
Раньше когда-то похожее встречал, вот только не помню как решил.
Ответ:
а конфигурация то какая?
и на какой это ОС?