Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: v7: УРБД Нарушена уникальность номеров документов.

Есть две базы 7.7 "Торговля и склад" Центральная и периферийная.
(Далее ЦБ и ПБ)
В ЦБ увеличиваю длину кода документа Счет (тип-текстовый)  с 8 до 10 и вылетает сообщение:
"Нарушены правила уникальности номеров документов Счет -        4452016    :Ц-009492  
Нарушены правила уникальности номеров документов Счет -        4452016    :Ц-009493
...................................................
и т.п." 

Насколько это критично и что значит? Можно ли увеличивать длину кода??
Ответ: () это уже давным давно было нарушено. и вы с этим прекрасно жили несколько лет.

а теперь при изменении длины номера программа устроила проверку
Вопрос: Получить значение реквизита документа при изменении. УФ.

Есть документ "Развозка", который имеет реквизиты:
Номер
Дата
Документ/Документы.РеализацияТоваровУслуг
Контрагент/Справочники.Контрагенты
Адрес/строка/50
АдресВручную/Булево
Автомобиль/Справочники.Автомобили
Водитель/Справочники/ФизическиеЛица
Примечание/строка/100

На форме документа поле Контрагент должно быть недоступным, так как данные в этом поле заполняются на основании данных из поля Документ.
Форма обычная.

1C
1
2
3
4
5
6
7
8
&НаКлиенте
Процедура ДокументПриИзменении(Элемент)
    Элементы.Контрагент.ТекстРедактирования = Документ.Контрагент.Ссылка;
    Если Элементы.АдресВручную.Значение = Ложь Тогда
        ФАдрес = ПолучитьАдресКонтрагента(Элементы.Контрагент.ТекстРедактирования);
        Элементы.Адрес.ТекстРедактирования = ФАдрес;
    КонецЕсли;
КонецПроцедуры
Не работает строка Документ.Контрагент.Ссылка
То есть мы заполняем поле Контрагент на форме, "вытягивая" его из реквизита Контрагент, выбранного документа.

Не работает строка (Элементы.АдресВручную.Значение = Ложь) эту строку я исправила с помощью Объект.АдресВручную
Ответ:
Сообщение от Anastasia_Sokel
(Элементы.Документ
1C
1
Объект.Документ
Добавлено через 36 секунд
Anastasia_Sokel, Забудьте про слово ЭЛЕМЕНТЫ
Вопрос: Вызов процедуры документа из внешней обработки

Добрый день товарищи.
Такой вопрос. Есть обработка, которая в документе заполняет отработанное сотрудником время. Время это хранится изначально в другом месте. в Другой программе.

После заполнения времени необходимо пересчитать документ / строку документа.

В Документе есть процедура которая вызывается , например, при ручном проставлении времени в документе.

Посдскажите как можно из обработки вызвать эту функцию?  

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

Есть база немного побитая пару лет назад. УТ11.1.
Сейчас есть необходимость обновиться до последнего релиза.
Обновляю 11.1.10.199 до 11.2.2.119. Обновление жуткое 173 процедуры после наката релиза.
Но ошибки базы данных не дают, в подробности вдаваться пока не буду, если потребуется сообщу.

Вопрос следующий. В базе есть строки табличных частей документов, которых не существует. Вот например запрос

ВЫБРАТЬ
    ЗаказКлиентаТовары.Ссылка,
    ЗаказКлиентаТовары.НомерСтроки,
    ЗаказКлиентаТовары.Номенклатура
ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ГДЕ
    ЗаказКлиентаТовары.Ссылка.Номер ЕСТЬ NULL

В поле ссылка <Объект не найден>

Возвращает 78 строк. Каким методом удалить эти строки из базы?
Кто подскажет?
Ответ: () средствами СУБД - прямым запросом
Вопрос: v7: В табличной части документа активировать строку

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

Помогите пожалуйста, как разукрасить строки документа в форме списка, при условии что в этих документах реквизит должен быть больше 0.
Ответ: () смотри событие ПриПолученииДанных для табличного поля со списком документов.
Вопрос: Вывод номера строки документа в обработке печати этикеток

Миста, помоги! :)
Задача, думаю, довольно распространенная.
В обработке выбора полей, доступных для печати есть много чего, кроме того что мне нужно. Поля формируются вроде как с помощью СКД, правда где его править, я так и не понял :(
Кто-нибудь делал? Конфа 1.6 УНФ. Хотя если на УТ кто-нибудь делал, то тоже разберусь, если будет понятно куда копать...
Ответ: () запрос подделай. Номенклатура же есть, она берется из строки документа.
Вопрос: v7: Попрыгать по строкам документа - не работает АктивизироватьСтроку()

Всем привет!
В какой момент этот метод должен отработать? Пытаюсь неоднократно (рекурсивно) вызывать его из процедуры Модуля Формы документа. Срабатывает только после выхода из процедуры ((

Тестовый код:

Процедура тест()
    номстр = "";
    Если ВвестиЧисло(номстр,"ввод номера строки",,0,5) = 1 Тогда// 5 секунд на ввод, иначе выход

        АктивизироватьСтроку(номстр);
        тест();
    КонецЕсли;
КонецПроцедуры
Ответ: () а, понятно.. если что - по складу запилить - стучись
Вопрос: Конвертация перенос строки ТабЧасти в Документ

Документ РТУ необходимо передать в док Приемка, но кроме этого из РТУ таб часть Товары, каждую строку таб части надо передавать в новый документ СтрокаПриемка. Подскажите как можно малой кровью обойтись через КД 2.0. Спасибо.
Ответ: Создаешь ПКО тип источника пустой - тип приемника твой документ "Приемка"
Описываешь ПКО так будто ты загружаешь в документ из источника типа СТРУКТУРА

Создаешь ПВД(правила выгрузки не указываешь) на выборку документов РТиУ, обходишь табличную часть каждого выгружаемого документа. и выгружаешь по ранее созданному ПКО каждую строку документа (или собирай структуру и выгружай ее)

Добавлено через 1 минуту
давно КД не открывал, мог чего нибудь упустить...
Вопрос: v7: Запрос с поиском по строке в табличной части

Помогите, а то я не знал, да еще и забыл как получить нужную мне строку документа с поиском по подстроке.
Нужно найти строчку документа в котором серийный номер 123 уже встречался.
Запрос = СоздатьОбъект("Запрос");
СерийныйНомерС = "123" ;            
ТекстЗапроса = 
        "//{{ЗАПРОС(Сформировать)

        |Без итогов;
            |СерийныйНомер = Документ.ДокументСервиса.СерийныйНомер;
            |Картридж = Документ.ДокументСервиса.Картридж;
            |ТекущийДокумент = Документ.ДокументСервиса.ТекущийДокумент;
            |Условие(СерийныйНомер = СерийныйНомерС);
            |"//}}ЗАПРОС

            ;
            Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
                Возврат;
            КонецЕсли;
            Пока Запрос.Группировка() = 1 Цикл
                // Заполнение полей Сформировать

                Сообщить("КЖ "+Запрос.Картридж);
            
            КонецЦикла;
Ответ: 100 и заканчиваем :)