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

Добрый день! Помогите пожалуйста разобраться, программно создал документ, при открытии на табличной части "Товары" необходимо закрасить строки по определенному условию, но в отладчике нигде не вижу свойства "ОформлениеСтроки". Можно ли закрасить строки программно?
1C
1
2
3
4
5
6
7
8
9
10
11
12
            НовыйРТИУ = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
            НовыйРТИУ.Дата = НовыйДокСчет.Дата;
            НовыйРТИУ.Заполнить(НовыйДокСчет.Ссылка);
            НовыйРТИУ.Сделка = НовыйДокСчет.Ссылка;
            НовыйРТИУ.Записать(РежимЗаписиДокумента.Запись);
            Форма = НовыйРТИУ.ПолучитьФорму();
                
            Для Каждого Строка Из Форма.ЭлементыФормы.Товары.Значение Цикл
                    
            КонецЦикла;
 
Форма.Открыть();
Ответ: sry 4 nekroposting
Вопрос: Выделение цветом строк табличного поля

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

1. через настройки формы в конфигураторе

2. То же самое программно..
Вопрос: v7: Как программно создать документ

Пытаюсь создать документ. Код:
//***************

Процедура Сформировать()
Док=СоздатьОбъект("Документ.СписаниеТМЦ");
фирмы=СоздатьОбъект("Справочник.Фирмы");
склад=СоздатьОбъект("Справочник.Склады");
Прод=СоздатьОбъект("Справочник.Номенклатура");
Док.Новый();     
фирмы.НайтиПоКоду("00003");           
склад.НайтиПоКоду("00004"); 
Прод.НайтиПоКоду("41835");
Док.фирма =фирмы.текущийэлемент();
Док.склад=склад.текущийэлемент(); 
Док.НоваяСтрока();
Док.Номенклатура=Прод.текущийэлемент(); 
Док.Количество=10;
Док.Записать(); 
КонецПроцедуры
//***************

В журнале документов появляется нечто похожее на списание. Но у документа в журнале нет названия. Когда открываешь документ, в поле заголовка системы написано: ...[.не проведен*]. А должно быть: ...[Списание ТМЦ(розница).не проведен*]. Этот документ не проводится: "Не заполнен реквизит "Валюта документа". Документ не проводится!". Что не так?
Ответ: () ну
Вопрос: проблемы при программном создании документа

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

УТ 11.3 Хочу в заказе клиента выделить строки товаров по некоторому условию
Для пробы в конфигураторе ставлю просто выделять все цены > 1 руб. Не работает(
Скрин настройки
Ответ: Сам себе отвечу

Процедура УстановитьУсловноеОформление()
    //УсловноеОформление.Элементы.Очистить();


И форматирование, заданное в параметрах формы, начинает работать
Вопрос: Программное сохранение документа 1с

Всем доброе время суток.

Такой вопрос: Есть документ, у которого есть табличная часть. Эта ТЧ заполняется программно и не доступна пользователю. При открытии формы в нее должна записаться определенная информация. Проблема в том, что если пользователь открыл документ и потом его сохранил, то инфа в ТЧ тоже сохранилась, а если открыл и закрыл, то инфа не сохранилась(а надо что бы сохранялась), как это можно обойти?

Надеюсь понятно описал проблему, заранее спасибо за ответы.
Ответ: () со всем вышеперечисленным согласен, но проблема в том, что надо что бы вся инфа хранилось в документе(так поставили задачу)....
Вопрос: Открытие формы нового дока УФ

Хочу создать новый документ (не через ввод на основании).
Новый документ не надо записывать, а только открыть форму.
В управляемых формах открыть форму можно только на клиенте.
Передать с сервера на клиент новый документ нельзя.
Но я хочу, чтобы у меня не просто открывалась форма, а срабатывало заполнение всех функций при создании документа, а не просто чтоб форму с заполненными элементами.

Вот такой бред естественно не работает:

&НаКлиенте
Процедура СоздатьЗаказПокупателя(Команда)

    Форма = ПолучитьФорму("Документ.ЗаказКлиента.ФормаОбъекта");
    ДокЗаказ = Форма.Объект;
    СоздатьЗаказПокупателяНаСервере(ДокЗаказ);
    КопироватьДанныеФормы(ДокЗаказ, Форма.Объект);
    Форма.Открыть();
    
КонецПроцедуры


&НаСервере
Процедура СоздатьЗаказПокупателяНаСервере(ДокЗаказ)
    
    ДокЗаказ = Документы.ЗаказКлиента.СоздатьДокумент();
    ДокЗаказ.Организация = Объект.Организация;     
    ДокЗаказ.Контрагент = Объект.Контрагент;
        
КонецПроцедуры
Ответ: () там где заполнял Организация для передачи в форму, заполни "основание", например, ссылкой текущего документа, а в ОбработкеЗаполнения (в модуле объекта) поймаешь переданное в ДанныеЗаполнения.

И да, хватит создавать экземпляр Объекта, ты уже в открывающейся форме, Объект - это пустое(за маленьким исключением) представление твоего Объекта в данных формы. Не дёргай его без смысла. Лучше сделай () и поймёшь что не так
Вопрос: Проблема с открытием формы списка документов.

В комплексной, той которая второй редакции, есть документ "Пересчет товаров". У документа есть форма списка, в которой устанавливается отбор по складу.
Замечательно. До недавнего времени не было необходимости ограничений доступа по складам. Соответственно у пользователя при открытии формы восстанавливалось значение отбора по складу, который у него был указан при закрытии формы. Но потом включили ограничение доступа по складам, и доступ к этому складу был ограничен. Теперь при попытке открытия формы списка документов выдается ошибка. Ошибка возникает при попытке получения значения реквизита склада, к которому у пользователя ограничен доступ. Если смотреть в отладчике - это видно. Но возникает вопрос. Через отладчик можно очистить значение, например, установить пустую ссылку. Тогда проверка проходит без ошибок и форма открывается. Но это если "под рукой" есть тот у кого есть доступ к конфигуратору и отладчику и есть соответствующие права. А что делать есть "под рукой" такого человека нет? Т.е. как выполнить очистку значений которые фиксируются при закрытии формы, и потом восстанавливаются при ее открытии из режима предприятия? Например пользователем с полными правами. Вопрос насущный, потому что сейчас настраиваются ограничения доступа к данным и в дальнейшем таких ситуаций предвидится не мало.
Кто-сталкивался с подобным?
Обработки из пакета инструмента разработчика БСП не помогают. Конфигурация типовая, запрет на изменение стоит.
Ответ: () Ну я бы не сказал что упорствую. Однако очистка кэша пользователя помогла. Хотя я не сильно на это надеялся.

Если следовать документации то
"Платформа использует следующие хранилища:
? Системное хранилище – в данное хранилище система сохраняет все возможные настройки, которые нужны для работы платформы. К данным настройкам относятся настройки размеров форм, настройки печати табличного документа и т. п. Полный перечень настроек, сохраняемых в системном хранилище, см. здесь. В качестве системного хранилища настроек всегда используется стандартное хранилище настроек. То есть данные системного хранилища всегда сохраняются в системной таблице информационной базы."
В перечне настроек, сохраняемых в системном хранилище присутствует
"Настройка: значения полей формы при закрытии
? Ключ объекта – является строковым значением, состоящим из полного имени формы и текста /ТекущиеДанные (/CurrentData)."

Конкретно для проблемной формы, в конфигурации не определено хранилище ее настроек, значит используется системное хранилище.
Работать с хранилищем из встроенного языка возможно. НО, поскольку в процессе работы у заказчика присутствуют программисты, и пользователей, которым критично сохранение текущих настроек 3-4 человека, то проще в процессе настройки и тестирования очистить значение через отладчик. За два дня такой способ использовали несколько раз. Писать внешние обработки для работы с системным хранилищем - зря тратить время. В ДАННОМ СЛУЧАЕ.

Вопрос, изначально был задан с целью узнать сталкивался кто с аналогичной ситуацией и как избежать ее используя уже возможно существующие инструменты.
Бросаться по каждой проблеме сразу в разработку чего-либо - не всегда оправдано. В ДАННОМ СЛУЧАЕ, проблема решилась двумя путями. Для тех пользователей, кому не критично сохранение настроек форм - просто очистили их кэш. Для тех кому критично - использовали отладчик.

Разбираться почему помогла очистка кэша, при условии что настройки должны храниться в системном хранилище - сейчас нет времени.

Всем спасибо.

PS. Персонально для rudnitskij - "не судите, да не судимы будете" (с)
Вопрос: Установить программно время документа

Доброго времени суток!
Такой вопрос назрел - никак не получается создать документ с текущей датой. Много перепробовала, время в документе 0:00.
Я немного не разобралась с оперативным и неоперативным проведением... Имеет ли это отношение к времени? И как установить время, чтобы было текущее?

Последняя попытка была такой(модуль формы)
1C
1
2
3
4
5
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    АвтоВремя = РежимАвтоВремя.НеИспользовать;
    Дата = ТекущаяДата();
КонецПроцедуры
Всем заранее спасибо!
Ответ:

Не по теме:

Сообщение от GreenkO
Тамика, пожалуйста) Как тестовое задание? Справились?)
Да, и вот вчера прислали список комментариев что нужно поправить. ))) Я почти всё сделала, сегодня отошлю и там уже видно будет.


Сообщение от GreenkO
Тамика, в модуле формы документа обращение к его реквизитам идет через "Объект."
Ой... Точно. Путаюсь...
Вопрос: Открытие формы документа по ответу

Доброго времени. Столкнулся с такой задачей : необходимо открыть некий документ если на вопрос в другом документе будет выполнено некое условие и выбран ответ "Да".

пример условия:
Код 1C
1
2
3
4
5
6
7
8
9
10
11
&НаКлиенте
Процедура ПослеЗаписи1(ПараметрыЗаписи)ТекДанные = Элементы.Товары.ТекущиеДанные;
    Если ТекДанные.Сумма > 1000 Тогда
    Ответ = Вопрос("Желаете оформить доставку?", РежимДиалогаВопрос.ДаНет, 30);
        Если Ответ = КодВозвратаДиалога.Да Тогда
            
            
            
        КонецЕсли; 
    КонецЕсли; 
КонецПроцедуры
И где стоит прописывать открытие формы?
Заранее благодарен!
Ответ: Спасибо всем) разобрался, оказалось просто:
Код 1C
1
2
3
Если Ответ = КодВозвратаДиалога.Да Тогда
            ОткрытьФорму("Документ.ЗаявкаНаТранспорт.Форма.ФормаДокумента")
        КонецЕсли;