8.х Перекрашивание отгруженных заказов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем karaboga, 19 мар 2008.

  1. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    В журналах хочу что бы перекрасился фон заказ покупателя которых на основание сделан реализация синими, закрытие заказ красным, корректировка заказ оранжевый

    Только ест проблема заказы которые сделано корректировка горят оранжевый ну когда делаю реализация они не становится синими. Как это можно делать

    Код:
    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    Если ТипЗнч(ОформлениеСтроки.ДанныеСтроки.Ссылка) <> Тип("ДокументСсылка.ЗаказПокупателя") Тогда
    Продолжить;
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	ЗакрытиеЗаказовПокупателейЗаказы.Ссылка
    |ИЗ
    |	Документ.ЗакрытиеЗаказовПокупателей.Заказы КАК ЗакрытиеЗаказовПокупателейЗаказы
    |ГДЕ
    |	ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя = &ЗаказПокупателя";
    Запрос.УстановитьПараметр("ЗаказПокупателя", ОформлениеСтроки.ДанныеСтроки.Ссылка);
    Если Не Запрос.Выполнить().Пустой() Тогда
    ОформлениеСтроки.ЦветФона = Новый Цвет(253, 216, 213);
    Продолжить;
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	КорректировкаЗаказаПокупателя.Ссылка
    |ИЗ
    |	Документ.КорректировкаЗаказаПокупателя КАК КорректировкаЗаказаПокупателя
    |ГДЕ
    |	КорректировкаЗаказаПокупателя.ЗаказПокупателя = &ЗаказПокупателя";
    Запрос.УстановитьПараметр("ЗаказПокупателя", ОформлениеСтроки.ДанныеСтроки.Ссылка);
    Если Не Запрос.Выполнить().Пустой() Тогда
    ОформлениеСтроки.ЦветФона = Новый Цвет(253, 250, 189);
    Продолжить;
    КонецЕсли;
    
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	РеализацияТоваровУслуг.Ссылка
    |ИЗ
    |	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |	РеализацияТоваровУслуг.Сделка = &ЗаказПокупателя";
    Запрос.УстановитьПараметр("ЗаказПокупателя", ОформлениеСтроки.ДанныеСтроки.Ссылка);
    Если Не Запрос.Выполнить().Пустой() Тогда
    ОформлениеСтроки.ЦветФона = Новый Цвет (200, 204, 253);
    Продолжить;
    КонецЕсли;
    КонецЦикла;
    
  2. LordKim
    Offline

    LordKim Опытный в 1С

    Регистрация:
    11 мар 2008
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Попробуй так:

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

    Просто у тебя на основании этого документа может быть и то и то и то, а тебе, насколько я понял, нужен только последний из документов введенных на основании

    з.ы. Код набирал ручками, так что если где знак препинания пропустил - извиняй)))
  3. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Не получилась к сожалению

    Код:
    {ЖурналДокументов.ЖурналОбщий.Форма.ФормаСписка(54,4)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
    | "<<?>>Красный" КАК Цвет
    
  4. LordKim
    Offline

    LordKim Опытный в 1С

    Регистрация:
    11 мар 2008
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Это синтаксическая ошибка.
    Красный это строка.
    В тексте запроса двойные ковычки, так -""Красный""

    Я поставил одинарные, говорюж, спешил и руками набирал)))
    Поменяй на двойные - должно работать.
  5. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Код:
     {ЖурналДокументов.ЖурналОбщий.Форма.ФормаСписка(81,46)}: Переменная не определена (ОформлениеСтроки)
    Запрос.УстановитьПараметр("ЗаказПокупателя", <<?>>ОформлениеСтроки.ДанныеСтроки.Ссылка);
    
    
    :unsure: B) :D :D
  6. LordKim
    Offline

    LordKim Опытный в 1С

    Регистрация:
    11 мар 2008
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Это вообще какая процедура?
    То есть это должен быть, по идее, обработчик ПриВыводеСтроки, но там Оформление строки и Данные строки это разные параметры.
    Посмотри в Синтакс помощнике эту процедуру.
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Мухамед,
    попробуй поиск по форуму по процедуре ПриПолученииДанных, я писал пример, как в столбец вывести значение - в твоем случае просто надо изменит будет фон.
  8. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Код:
    {ЖурналДокументов.ЖурналОбщий.Форма.ФормаСписка(86)}: Ошибка при вызове метода контекста (Выполнить): Разное количество полей в объединяемых запросах
    Выборка = Запрос.Выполнить().Выбрать();
    по причине:
    Разное количество полей в объединяемых запросах
    Код:
     Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    Если ТипЗнч(ОформлениеСтроки.ДанныеСтроки.Ссылка) <> Тип("ДокументСсылка.ЗаказПокупателя") Тогда
    Продолжить;
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ Первые 1
    |Данные.Ссылка
    |ИЗ
    |(Выбрать
    | ЗакрытиеЗаказовПокупателейЗаказы.Ссылка КАК Ссылка,
    | ""Красный"" КАК Цвет 
    |ИЗ
    | Документ.ЗакрытиеЗаказовПокупателей.Заказы КАК ЗакрытиеЗаказовПокупателейЗаказы
    |ГДЕ
    | ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя = &ЗаказПокупателя
    |Объединить все
    |Выбрать
    | КорректировкаЗаказаПокупателя.Ссылка,
    | КорректировкаЗаказаПокупателя.Дата,
    | ""Оранжевый""
    |ИЗ
    | Документ.КорректировкаЗаказаПокупателя КАК КорректировкаЗаказаПокупателя
    |ГДЕ
    | КорректировкаЗаказаПокупателя.ЗаказПокупателя = &ЗаказПокупателя
    |Объединить все
    |ВЫБРАТЬ
    | РеализацияТоваровУслуг.Ссылка,
    | РеализацияТоваровУслуг.Дата,
    | ""Синий""
    |ИЗ
    | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    | РеализацияТоваровУслуг.Сделка = &ЗаказПокупателя) КАК Данные
    |Упорядочить по 
    |Данные.Дата УБЫВ";
    
    
    Запрос.УстановитьПараметр("ЗаказПокупателя", ОформлениеСтроки.ДанныеСтроки.Ссылка);
    
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
    Если Выборка.Цвет = "Красный" Тогда
    
    ИначеЕсли Выборка.Цвет = "Синий" Тогда
    
    ИначеЕсли Выборка.Цвет = "Оранжевый" Тогда
    
    КонецЕсли;    
    КонецЕсли;
    КонецЦикла
    
    КонецПроцедуры
    
  9. LordKim
    Offline

    LordKim Опытный в 1С

    Регистрация:
    11 мар 2008
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Код:
    "(Выбрать
    | ЗакрытиеЗаказовПокупателейЗаказы.Ссылка КАК Ссылка,
    | ""Красный"" КАК Цвет 
    |ИЗ
    </span>
    </FONT></FONT></pre>
    Тут добавь строчку с выбором даты.

    Код:
    "(Выбрать
    | ЗакрытиеЗаказовПокупателейЗаказы.Ссылка КАК Ссылка,
    | ЗакрытиеЗаказовПокупателейЗаказы.Дата КАК Дата,
    | ""Красный"" КАК Цвет 
    |ИЗ"
    
    
  10. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Код:
     {ЖурналДокументов.ЖурналОбщий.Форма.ФормаСписка(87)}: Ошибка при вызове метода контекста (Выполнить): {(6, 35)}: Поле не найдено "ЗакрытиеЗаказовПокупателейЗаказы.Дата"
    ЗакрытиеЗаказовПокупателейЗаказы.<<?>>Дата КАК Дата,
    Выборка = Запрос.Выполнить().Выбрать();
    по причине:
    {(6, 35)}: Поле не найдено "ЗакрытиеЗаказовПокупателейЗаказы.Дата"
    ЗакрытиеЗаказовПокупателейЗаказы.<<?>>Дата КАК Дата,

    :unsure: B) :D :D :wub:
  11. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    ЗакрытиеЗаказовПокупателейЗаказы.Ссылка.Дата
  12. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    BabySG мне еще понадобился твою помощь вообще мне надо создавать такой журнал, который будет показать только Реализация товар услуг, Заказ покупателя, приходное кассовый ордер как я могу такой журнал сделать ?



    Код:
     {ЖурналДокументов.ЖурналОбщий.Форма.ФормаСписка(89)}: Поле объекта не обнаружено (Цвет)
    Если Выборка.Цвет = "Красный" Тогда
    
  13. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Мухамед, создай в системе (конфигурации) новый журнал документов, укажи какие документы там будут и какие графы как ты будешь заполнять.

    Каждый журнал, содержащий несколько видов документов - это отдельный объект.
  14. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Спасибо Эмин я сделал журнал документов. Ты бы мог еще помощь вопрос перекрашиванием ?
  15. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Посмотри в СП, что такое объект ЦВЕТ...
  16. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    BabySG Я уже все пробовал не как не получается и смотрел в СП нечего не понимаю

    Может какой то другой код напишешь
  17. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    НужныйЦвет = WebЦвета.Красный;
    
    Цвета смотри тут
  18. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Опят не получилась не как не могу делать код который ты написал я не знаю куда его поставить я конечно пробовал ну не получилась как то можно проверенные полностью процедуру написать


    И еще там в запросе есть такой что

    |Упорядочить по
    |Данные.Дата УБЫВ";


    Мне по дату на самом дели не очень надо суд в моей задачи заключается в том что ;
    Есть заказ покупателя клиенты хотеть изменение операторы делают на основание этого заказа, корректировка заказа тогда в журнале фон этого заказа горит оранжевым а когда этот товар отравляется тогда операторы делают теперь на основание этого заказа реализация товар услуг
    Вот и здесь начинается больной тема что фон цвет заказа не меняются на другом цвету


    Код:
    Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    // Вставить содержимое обработчика.
    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    Если ТипЗнч(ОформлениеСтроки.ДанныеСтроки.Ссылка) <> Тип("ДокументСсылка.ЗаказПокупателя") Тогда
    Продолжить;
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	КорректировкаЗаказаПокупателя.Ссылка
    |ИЗ
    |	Документ.КорректировкаЗаказаПокупателя КАК КорректировкаЗаказаПокупателя
    |ГДЕ
    |	КорректировкаЗаказаПокупателя.ЗаказПокупателя = &ЗаказПокупателя";
    Запрос.УстановитьПараметр("ЗаказПокупателя", ОформлениеСтроки.ДанныеСтроки.Ссылка);
    Если Не Запрос.Выполнить().Пустой() Тогда
    ОформлениеСтроки.ЦветФона = Новый Цвет(253, 250, 189);
    Продолжить;
    КонецЕсли;
    
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	РеализацияТоваровУслуг.Ссылка
    |ИЗ
    |	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |	РеализацияТоваровУслуг.Сделка = &ЗаказПокупателя";
    Запрос.УстановитьПараметр("ЗаказПокупателя", ОформлениеСтроки.ДанныеСтроки.Ссылка);
    Если Не Запрос.Выполнить().Пустой() Тогда
    ОформлениеСтроки.ЦветФона = Новый Цвет (200, 204, 253);
    Продолжить;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
    
    
  19. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Первое: сделай один запрос - работать будет быстрее
    Второе: у тебя код в корне неверен... Еще раз посмотри на мой код
  20. TopicStarter Overlay
    karaboga
    Offline

    karaboga

    Регистрация:
    19 мар 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    BabySG ну и проблема в этом что я не умею делать правильное запрос пожалуйста напиши как надо..

Поделиться этой страницей