Имя: Пароль:
1C
 
ПриВыводеСтроки, ПриПолученииДанных
0 Droning1C
 
28.12.18
10:55
Доброго времени суток!

проблема такова- при активации строки, при условии что ФлагАктивацииСтроки = истина; и ФлагРасчета = 1; в табличном поле должны заполняться определенные данные. Они заполняются, но при клике  например на следующую строку табличного поля, предыдущие расчеты исчезают. А нужно, чтобы сохранялись. Параметры ОформленияСтроки и ОформлениеСтроки постоянно обнуляются по нужным мне показателям. например ДатаИзготовления. Подскажите, пожалуйста, что я делаю не так? Я уже пытался и в ПриВыводеСтроки все запихать, и что только не пробовал.



ВОт полный текст модуля_
1 Droning1C
 
28.12.18
10:56
Перем ФлагРасчета; // 0 - не рассчитываем, 1 - рассчитываем один документ, 2 - рассчитываем все
Перем ФлагАктивацииСтроки; // Истина - строку активизировали, Ложь - просто вывод строки

Процедура ДействияФормыДействие12(Кнопка)
    
    Если элементыформы.Список.ТекущаяСтрока=неопределено Тогда
        возврат;
    КонецЕсли;
    обр=обработки.СводныеДанныеЗаказа.Создать();
    обр.ЗаказПокупателя=элементыформы.Список.ТекущаяСтрока;
    фрм=обр.ПолучитьФорму();
    фрм.открыть();
    
КонецПроцедуры

//  Процедура печатает выбранный документ
// Печатается та форма, которая была отпечатана при нажатии в документе кнопки
// печати по умолчанию
//
Процедура ДействияФормыДействиеПечать(Кнопка)

    Если ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока = Неопределено тогда
        Возврат
    КонецЕсли;

    УниверсальныеМеханизмы.НапечататьДокументИзФормыСписка(ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока.ПолучитьОбъект());

КонецПроцедуры // ДействиеПечать()

// Процедура вызывается при выборе пункта подменю "Движения документа по регистрам" меню "Перейти".
// командной панели формы. Процедура отрабатывает печать движений документа по регистрам.
//
Процедура ДействияФормыДвиженияДокументаПоРегистрам(Кнопка)

    Если ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока = Неопределено тогда
        Возврат
    КонецЕсли;

    РаботаСДиалогами.НапечататьДвиженияДокумента(ЭлементыФормы.Список.ТекущиеДанные.Ссылка);

КонецПроцедуры // ДействияФормыДвиженияДокументаПоРегистрам()

// Процедура вызывается при выборе пункта подменю "Структура подчиненности" меню "Перейти".
Процедура ДействияФормыСтруктураПодчиненностиДокумента(Кнопка)
    
    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено тогда
        Возврат
    КонецЕсли;
    
    РаботаСДиалогами.ПоказатьСтруктуруПодчиненностиДокумента(ЭлементыФормы.Список.ТекущиеДанные.Ссылка);
    
КонецПроцедуры

// Процедура вызывается при нажатии на кнопку "файлы"
Процедура ДействияФормыФайлы(Кнопка)
    
    Если ЭлементыФормы.Список.ТекущаяСтрока = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Ссылка = ЭлементыФормы.Список.ТекущаяСтрока.Ссылка;
    ФормаФайлов = Справочники.ХранилищеДополнительнойИнформации.ПолучитьФорму("ФормаСпискаФайловИИзображений", ЭтаФорма);
    
    ФормаФайлов.Изображения.Отбор.Объект.Использование                               = Истина;
    ФормаФайлов.Изображения.Отбор.Объект.Значение                                    = Ссылка;
    ФормаФайлов.ЭлементыФормы.Изображения.НастройкаОтбора.Объект.Доступность         = Ложь;
    ФормаФайлов.ЭлементыФормы.Изображения.Колонки.Объект.Видимость                   = Ложь;

    ФормаФайлов.ДополнительныеФайлы.Отбор.Объект.Использование                       = Истина;
    ФормаФайлов.ДополнительныеФайлы.Отбор.Объект.Значение                            = Ссылка;
    ФормаФайлов.ЭлементыФормы.ДополнительныеФайлы.НастройкаОтбора.Объект.Доступность = Ложь;
    ФормаФайлов.ЭлементыФормы.ДополнительныеФайлы.Колонки.Объект.Видимость           = Ложь;

    ОбязательныеОтборы = Новый Структура;
    ОбязательныеОтборы.Вставить("Объект",Ссылка);

    ФормаФайлов.ОбязательныеОтборы = ОбязательныеОтборы;
    
    ФормаФайлов.Открыть();
    
КонецПроцедуры

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Если ЭлементыФормы.Список.Колонки.ОбособленныйУчет.Видимость Тогда
        УправлениеЗаказами.ВывестиПризнакОбособленныйУчетВФормуСписка(Элемент, ОформленияСтрок, новый Соответствие());
    КонецЕсли;
    
    Если ФлагРасчета = 2 Тогда
        
        Соответствие = Новый Соответствие;
        СписокДокументов = Новый СписокЗначений;
        
        Для Каждого ТекОформление Из ОформленияСтрок Цикл
            Если Не ТекОформление.ДанныеСтроки = Неопределено Тогда
                Документ = ТекОформление.ДанныеСтроки.Ссылка;
                
                Соответствие.Вставить(ТекОформление.ДанныеСтроки.Ссылка, ТекОформление);
                СписокДокументов.Добавить(Документ);
            КонецЕсли;
        КонецЦикла;
                
        Результат = РассчитатьДанныеЗаказов(СписокДокументов);
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() Цикл
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.Текст = ?(Выборка.Отгружено = 0, "", Формат(Выборка.Отгружено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Баланс.Текст = ?(Выборка.Баланс = 0, "", Формат(Выборка.Баланс,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Баланс.ОтображатьТекст = Истина;
                        
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.Текст = ?(Выборка.ДатаПереноса = Неопределено, "", Формат(Выборка.ДатаПереноса, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.ОтображатьТекст = Истина;            
            
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.Текст = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ОтображатьТекст = Истина;            
                        
            Если Выборка.Баланс = 0 И Выборка.Оплачено <> 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Баланс > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Баланс < 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
            Если Выборка.Оплачено = 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Оплачено > 0 И Выборка.Оплачено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Оплачено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Оплачено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;    
            КонецЕсли;
            
            Если Выборка.Отгружено = 0 И Выборка.Оплачено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Отгружено > 0 И Выборка.Отгружено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Отгружено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Отгружено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если ЗначениеЗаполнено(Выборка.ДатаПереноса) Тогда
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
        КонецЦикла;
                
    КонецЕсли;
    
КонецПроцедуры

Процедура ДействияФормыДействиеАнализ(Кнопка)
    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено тогда
        Возврат
    КонецЕсли;
    УправлениеЗаказами.СформироватьОтчетАнализЗаказа(ЭлементыФормы.Список.ТекущиеДанные.Ссылка,ложь, истина);

КонецПроцедуры

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

Процедура ДействияФормыДействиеУстановитьСтатус(Кнопка)
    
    Если НЕ Кнопка = Неопределено Тогда // найти новое значение вида операции
        Статус = Перечисления.СтатусыЗаказаПокупателя[Кнопка.Имя];
    Иначе
        Возврат;
    КонецЕсли;
    
    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено Тогда
        Возврат;        
    КонецЕсли;
        
    Для Каждого Строка Из ЭлементыФормы.Список.ВыделенныеСтроки Цикл
        
        ДокументОбъект = Строка.ПолучитьОбъект();
        
        Если Не ДопМодуль.ПроверкаКорректностиУстановкиСтатусаЗаказаПокупателя(Строка, Статус) Тогда
            Продолжить;
        КонецЕсли;
        
        Попытка
            ДокументОбъект.Заблокировать();
        Исключение
            Сообщить("Невозможно изменить статус документа. Документ открыт другим пользователем.");
            Возврат;
        КонецПопытки;
        
        Комментарий = "";
        ВвестиСтроку(Комментарий, "Введите причину аннулирования",,);
        
        НачатьТранзакцию();
                
        ДопМодуль.УстановитьСтатусЗаказаПокупателя(Строка, Статус, Комментарий, глЗначениеПеременной("глТекущийПользователь"));
        
        ЗафиксироватьТранзакцию();        
                
    КонецЦикла;
        
КонецПроцедуры

Процедура ДействияФормыКнопкаПравкаЗапрещена(Кнопка)
    
    ДокОбъект = ЭлементыФормы.Список.ТекущаяСтрока.ПолучитьОбъект();
    ДокОбъект.ПравкаЗапрещена = НЕ ДокОбъект.ПравкаЗапрещена;
    ДокОбъект.Записать();
    ЭлементыФормы.ДействияФормы.Кнопки.КнопкаПравкаЗапрещена.Текст = ДопМодуль.УстановитьИмяКнопкиПравкаЗапрещена(ДокОбъект.ПравкаЗапрещена);
        
КонецПроцедуры

Процедура ДействияФормыДействиеРассчитыватьДокумент(Кнопка)
    
    Кнопка.Пометка = Не Кнопка.Пометка;
    
    ЭлементыФормы.ДействияФормы.Кнопки.ДействиеРассчитыватьВсеДокументы.Пометка = Ложь;
    
    Если Кнопка.Пометка Тогда
        ФлагРасчета = 1;
        ФлагАктивацииСтроки = Истина;
        ЭлементыФормы.Список.ОбновитьСтроки(ЭлементыФормы.Список.ТекущаяСтрока);
    Иначе
        ФлагРасчета = 0;
    КонецЕсли;
    
КонецПроцедуры

Процедура ДействияФормыДействиеРассчитыватьВсеДокументы(Кнопка)
    
    Кнопка.Пометка = Не Кнопка.Пометка;    
    
    ЭлементыФормы.ДействияФормы.Кнопки.ДействиеРассчитыватьДокумент.Пометка = Ложь;
    
    Если Кнопка.Пометка Тогда
        ФлагРасчета = 2;
        Обновить();
    Иначе
        ФлагРасчета = 0;
    КонецЕсли;
    
КонецПроцедуры

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

Процедура УстановитьПометкуКнопок()
    Если ФлагРасчета = 1 Тогда
        ЭлементыФормы.ДействияФормы.Кнопки.ДействиеРассчитыватьДокумент.Пометка = Истина;        
    ИначеЕсли ФлагРасчета = 2 Тогда
        ЭлементыФормы.ДействияФормы.Кнопки.ДействиеРассчитыватьВсеДокументы.Пометка = Истина;        
    КонецЕсли;
КонецПроцедуры

Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
    
    СохранитьЗначение("ФлагРасчета",ФлагРасчета);
    
КонецПроцедуры

Процедура ПриОткрытии()
    
    ФлагРасчета = ВосстановитьЗначение("ФлагРасчета");
    ФлагАктивацииСтроки    = Ложь;
    
    УстановитьПометкуКнопок();
    
КонецПроцедуры

Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    Если ФлагРасчета = 1 И ФлагАктивацииСтроки И ДанныеСтроки.Ссылка = ЭлементыФормы.Список.ТекущаяСтрока Тогда
        
        СписокДокументов = Новый СписокЗначений;
        СписокДокументов.Добавить(ДанныеСтроки.Ссылка);
        
        Результат = РассчитатьДанныеЗаказов(СписокДокументов);
        Выборка = Результат.Выбрать();
        
        Если Выборка.Следующий() Тогда
            
            ОформлениеСтроки.Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
            ОформлениеСтроки.Ячейки.Оплачено.ОтображатьТекст = Истина;
            
            ОформлениеСтроки.Ячейки.Отгружено.Текст = ?(Выборка.Отгружено = 0, "", Формат(Выборка.Отгружено,"ЧЦ=15; ЧДЦ=2"));
            ОформлениеСтроки.Ячейки.Отгружено.ОтображатьТекст = Истина;
            
            ОформлениеСтроки.Ячейки.Баланс.Текст = ?(Выборка.Баланс = 0, "", Формат(Выборка.Баланс,"ЧЦ=15; ЧДЦ=2"));
            ОформлениеСтроки.Ячейки.Баланс.ОтображатьТекст = Истина;
            
            ОформлениеСтроки.Ячейки.ДатаПереноса.Текст = ?(Выборка.ДатаПереноса = Неопределено, "", Формат(Выборка.ДатаПереноса, "ДФ=dd.MM.yyyy"));
            ОформлениеСтроки.Ячейки.ДатаПереноса.ОтображатьТекст = Истина;
            
            ОформлениеСтроки.Ячейки.ДатаИзготовления.Текст = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            ОформлениеСтроки.Ячейки.ДатаИзготовления.ОтображатьТекст = Истина;
            
            Если Выборка.Баланс = 0 И Выборка.Оплачено <> 0 И Выборка.Отгружено <> 0 Тогда
                ОформлениеСтроки.Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
                ОформлениеСтроки.Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Баланс > 0 Тогда
                ОформлениеСтроки.Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
                ОформлениеСтроки.Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Баланс < 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
                ОформлениеСтроки.Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
                ОформлениеСтроки.Ячейки.Баланс.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
            Если Выборка.Оплачено = 0 И Выборка.Отгружено <> 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Оплачено > 0 И Выборка.Оплачено < Выборка.Сделка.СуммаДокумента Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Оплачено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Оплачено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если Выборка.Отгружено = 0 И Выборка.Оплачено <> 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Отгружено > 0 И Выборка.Отгружено < Выборка.Сделка.СуммаДокумента Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Отгружено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Отгружено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если ЗначениеЗаполнено(Выборка.ДатаПереноса) Тогда
                ОформлениеСтроки.Ячейки.ДатаПереноса.ЦветФона     = WebЦвета.СветлоРозовый;
                ОформлениеСтроки.Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
                        
        КонецЕсли;
        
        //ФлагАктивацииСтроки = Ложь;
    КонецЕсли;
    
    ЦветСтатуса = РегистрыСведений.НастройкаЦвета.Выбрать(Новый Структура("Владелец", ДанныеСтроки.СтатусЗаказа));
    Если ЦветСтатуса.Следующий() Тогда
        ОформлениеСтроки.Ячейки.СтатусЗаказа.ЦветФона = ЦветСтатуса.Цвет.Получить();
    КонецЕсли;
    
КонецПроцедуры

Процедура РеестрНомеровЗаказовПриИзменении(Элемент)
        
    Если ЗначениеЗаполнено(РеестрНомеровЗаказов) Тогда
        РеестрНомеровЗаказов = СтрЗаменить(РеестрНомеровЗаказов, Символ(182), " ");
        РеестрНомеровЗаказов = СтрЗаменить(РеестрНомеровЗаказов, Символ(10), " ");
        МассивНомеров = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(РеестрНомеровЗаказов, " ");
        Если НЕ МассивНомеров.Количество() = 0 Тогда
            
            СписокЗначенийОтбора = ПолучитьСписокЗаказовПоНомерам(МассивНомеров);
            
            ЭлементыФормы.КоличесвтоЗаказовДляОтбора.Значение = СписокЗначенийОтбора.Количество();
            
            Отбор.ДокументОснование.ВидСравнения  = ВидСравнения.ВСписке;
            Отбор.ДокументОснование.Значение      = СписокЗначенийОтбора;
            Отбор.ДокументОснование.Использование = Истина;
            
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры

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

Функция ПолучитьСписокЗаказовПоНомерам(МассивНомеров)
    
    СписокЗаказов = Новый СписокЗначений();
    Сч = 0;
    Пока Сч < МассивНомеров.Количество() Цикл
        
        ДокСсылка = Документы.ЗаказНаПроизводство.НайтиПоНомеру(СокрЛП(МассивНомеров[Сч]), ТекущаяДата());
        
        Запрос = Новый Запрос();
        Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                       |    ЗаказНаПроизводство.Ссылка КАК Заказ
                       |ИЗ
                       |    Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
                       |ГДЕ
                       |    ЗаказНаПроизводство.Номер = &Номер
                       |    И ЗаказНаПроизводство.Дата > &ДатаДокумента";
        
        Запрос.УстановитьПараметр("Номер", СокрЛП(МассивНомеров[Сч]));
        Запрос.УстановитьПараметр("ДатаДокумента", ТекущаяДата()-365*86400);
        
        ЗапросВыборка = Запрос.Выполнить().Выбрать();
        Если ЗапросВыборка.Следующий() Тогда
            СписокЗаказов.Добавить(ЗапросВыборка.Заказ);
        КонецЕсли;
        //Если ЗначениеЗаполнено(ДокСсылка) Тогда
        //    СписокЗаказов.Добавить();
        //КонецЕсли;
        Сч = Сч + 1;        
    КонецЦикла;        
    
    Возврат СписокЗаказов;
    
КонецФункции

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

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

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

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

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

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

Функция ПолучитьТаблицуСчетовПоЗаказу(ДокументЗаказ)
    
    Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                   |    КонтактнаяИнформация.Тип,
                   |    КонтактнаяИнформация.Вид,
                   |    КонтактнаяИнформация.Объект,
                   |    КонтактнаяИнформация.Представление
                   |ПОМЕСТИТЬ втКонтактнаяИнформация
                   |ИЗ
                   |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
                   |ГДЕ
                   |    КонтактнаяИнформация.Тип = &Тип
                   |    И КонтактнаяИнформация.Вид = &Вид
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
                   |    СчетНаОплатуПокупателю.Проведен,
                   |    СчетНаОплатуПокупателю.Статус,
                   |    СчетНаОплатуПокупателю.Ссылка КАК Счет,
                   |    СчетНаОплатуПокупателю.Дата КАК ДокументДата,
                   |    СчетНаОплатуПокупателю.Номер КАК ДокументНомер,
                   |    СчетНаОплатуПокупателю.Контрагент КАК ДокументКонтрагент,
                   |    СчетНаОплатуПокупателю.ДоговорКонтрагента КАК ДокументДоговор,
                   |    СчетНаОплатуПокупателю.СуммаДокумента КАК Сумма,
                   |    ЕСТЬNULL(втКонтактнаяИнформация.Представление, """") КАК Email
                   |ИЗ
                   |    Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
                   |        ЛЕВОЕ СОЕДИНЕНИЕ втКонтактнаяИнформация КАК втКонтактнаяИнформация
                   |        ПО СчетНаОплатуПокупателю.Контрагент = втКонтактнаяИнформация.Объект
                   |ГДЕ
                   |    СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ
                   |    И СчетНаОплатуПокупателю.ЗаказПокупателя = &Сделка
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    ДокументДата УБЫВ";
                  
    Запрос.УстановитьПараметр("Сделка", ДокументЗаказ);
    Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
    Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.АдресЭлектроннойПочтыКонтрагентаДляОбменаДокументами);
    
    Возврат Запрос.Выполнить().Выгрузить();    
    
КонецФункции

Процедура ТаблицаРеализацийПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    ЦветСтатуса = РегистрыСведений.НастройкаЦвета.Выбрать(Новый Структура("Владелец", ДанныеСтроки.Статус));
    Если ЦветСтатуса.Следующий() Тогда
        ОформлениеСтроки.Ячейки.Статус.ЦветФона = ЦветСтатуса.Цвет.Получить();
    КонецЕсли;
    
    
    Если ЗначениеЗаполнено(ДанныеСтроки.Реализация) Тогда
        Если ДанныеСтроки.Реализация.Проведен Тогда
            ОформлениеСтроки.Ячейки.Реализация.ЦветФона = WebЦвета.СветлоЗеленый;
            ОформлениеСтроки.Ячейки.Проведен.ЦветФона = WebЦвета.СветлоЗеленый;
        Иначе
            ОформлениеСтроки.Ячейки.Реализация.ЦветФона = WebЦвета.СветлоЖелтый;
            ОформлениеСтроки.Ячейки.Проведен.ЦветФона = WebЦвета.СветлоЖелтый;
        КонецЕсли;
    КонецЕсли;
    
    Если ЗначениеЗаполнено(ДанныеСтроки.СчетФактура) Тогда
        Если ДанныеСтроки.СчетФактура.Проведен Тогда
            ОформлениеСтроки.Ячейки.СчетФактура.ЦветФона = WebЦвета.СветлоЗеленый;
        Иначе
            ОформлениеСтроки.Ячейки.СчетФактура.ЦветФона = WebЦвета.СветлоЖелтый;
        КонецЕсли;
    Иначе
        ОформлениеСтроки.Ячейки.СчетФактура.ЦветФона = WebЦвета.СветлоРозовый;
    КонецЕсли;
    
КонецПроцедуры

Процедура ТаблицаСчетовПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    ЦветСтатуса = РегистрыСведений.НастройкаЦвета.Выбрать(Новый Структура("Владелец", ДанныеСтроки.Статус));
    Если ЦветСтатуса.Следующий() Тогда
        ОформлениеСтроки.Ячейки.Статус.ЦветФона = ЦветСтатуса.Цвет.Получить();
    КонецЕсли;
        
КонецПроцедуры

Процедура ДействияФорм
2 Droning1C
 
28.12.18
10:58
вот отдельно процедуры ПриВыводеСтроки, ПриПолученииДанных и ПриАктивацииСтроки







Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Если ЭлементыФормы.Список.Колонки.ОбособленныйУчет.Видимость Тогда
        УправлениеЗаказами.ВывестиПризнакОбособленныйУчетВФормуСписка(Элемент, ОформленияСтрок, новый Соответствие());
    КонецЕсли;
    
    Если ФлагРасчета = 2 Тогда
        
        Соответствие = Новый Соответствие;
        СписокДокументов = Новый СписокЗначений;
        
        Для Каждого ТекОформление Из ОформленияСтрок Цикл
            Если Не ТекОформление.ДанныеСтроки = Неопределено Тогда
                Документ = ТекОформление.ДанныеСтроки.Ссылка;
                
                Соответствие.Вставить(ТекОформление.ДанныеСтроки.Ссылка, ТекОформление);
                СписокДокументов.Добавить(Документ);
            КонецЕсли;
        КонецЦикла;
                
        Результат = РассчитатьДанныеЗаказов(СписокДокументов);
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() Цикл
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.Текст = ?(Выборка.Отгружено = 0, "", Формат(Выборка.Отгружено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Баланс.Текст = ?(Выборка.Баланс = 0, "", Формат(Выборка.Баланс,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Баланс.ОтображатьТекст = Истина;
                        
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.Текст = ?(Выборка.ДатаПереноса = Неопределено, "", Формат(Выборка.ДатаПереноса, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.ОтображатьТекст = Истина;            
            
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.Текст = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ОтображатьТекст = Истина;            
                        
            Если Выборка.Баланс = 0 И Выборка.Оплачено <> 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Баланс > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Баланс < 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
            Если Выборка.Оплачено = 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Оплачено > 0 И Выборка.Оплачено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Оплачено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Оплачено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;    
            КонецЕсли;
            
            Если Выборка.Отгружено = 0 И Выборка.Оплачено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Отгружено > 0 И Выборка.Отгружено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Отгружено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Отгружено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если ЗначениеЗаполнено(Выборка.ДатаПереноса) Тогда
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
        КонецЦикла;
                
    КонецЕсли;
    
КонецПроцедуры

Процедура ДействияФормыДействиеАнализ(Кнопка)
    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено тогда
        Возврат
    КонецЕсли;
    УправлениеЗаказами.СформироватьОтчетАнализЗаказа(ЭлементыФормы.Список.ТекущиеДанные.Ссылка,ложь, истина);

КонецПроцедуры

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

                //ИндексКнопки = ЭлементыФормы.ДействияФормы.Кнопки.ПодменюВыбораСтатуса.Кнопки.Индекс(КнопкаДобавлена);

                //Кнопки.Удалить(ИндексКнопки);

            КонецЕсли;    
        КонецЦикла;
    КонецЕсли;
    
КонецПроцедуры


Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    Если ФлагРасчета = 1 И ФлагАктивацииСтроки И ДанныеСтроки.Ссылка = ЭлементыФормы.Список.ТекущаяСтрока Тогда
        
        СписокДокументов = Новый СписокЗначений;
        СписокДокументов.Добавить(ДанныеСтроки.Ссылка);
        
        Результат = РассчитатьДанныеЗаказов(СписокДокументов);
        Выборка = Результат.Выбрать();
        
        Если Выборка.Следующий() Тогда
            
            ОформлениеСтроки.Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
            ОформлениеСтроки.Ячейки.Оплачено.ОтображатьТекст = Истина;
            
            ОформлениеСтроки.Ячейки.Отгружено.Текст = ?(Выборка.Отгружено = 0, "", Формат(Выборка.Отгружено,"ЧЦ=15; ЧДЦ=2"));
            ОформлениеСтроки.Ячейки.Отгружено.ОтображатьТекст = Истина;
            
            ОформлениеСтроки.Ячейки.Баланс.Текст = ?(Выборка.Баланс = 0, "", Формат(Выборка.Баланс,"ЧЦ=15; ЧДЦ=2"));
            ОформлениеСтроки.Ячейки.Баланс.ОтображатьТекст = Истина;
            
            ОформлениеСтроки.Ячейки.ДатаПереноса.Текст = ?(Выборка.ДатаПереноса = Неопределено, "", Формат(Выборка.ДатаПереноса, "ДФ=dd.MM.yyyy"));
            ОформлениеСтроки.Ячейки.ДатаПереноса.ОтображатьТекст = Истина;
            
            ОформлениеСтроки.Ячейки.ДатаИзготовления.Текст = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            ОформлениеСтроки.Ячейки.ДатаИзготовления.ОтображатьТекст = Истина;
            
            Если Выборка.Баланс = 0 И Выборка.Оплачено <> 0 И Выборка.Отгружено <> 0 Тогда
                ОформлениеСтроки.Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
                ОформлениеСтроки.Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Баланс > 0 Тогда
                ОформлениеСтроки.Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
                ОформлениеСтроки.Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Баланс < 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
                ОформлениеСтроки.Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
                ОформлениеСтроки.Ячейки.Баланс.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
            Если Выборка.Оплачено = 0 И Выборка.Отгружено <> 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Оплачено > 0 И Выборка.Оплачено < Выборка.Сделка.СуммаДокумента Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Оплачено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Оплачено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если Выборка.Отгружено = 0 И Выборка.Оплачено <> 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Отгружено > 0 И Выборка.Отгружено < Выборка.Сделка.СуммаДокумента Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Отгружено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Отгружено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                ОформлениеСтроки.Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если ЗначениеЗаполнено(Выборка.ДатаПереноса) Тогда
                ОформлениеСтроки.Ячейки.ДатаПереноса.ЦветФона     = WebЦвета.СветлоРозовый;
                ОформлениеСтроки.Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
                        
        КонецЕсли;
        
        //ФлагАктивацииСтроки = Ложь;

    КонецЕсли;
    
    ЦветСтатуса = РегистрыСведений.НастройкаЦвета.Выбрать(Новый Структура("Владелец", ДанныеСтроки.СтатусЗаказа));
    Если ЦветСтатуса.Следующий() Тогда
        ОформлениеСтроки.Ячейки.СтатусЗаказа.ЦветФона = ЦветСтатуса.Цвет.Получить();
    КонецЕсли;
    
КонецПроцедуры
3 Droning1C
 
28.12.18
10:59
Данные должны заполняться в активированной строке
4 ptiz
 
28.12.18
10:59
(0) Колонка таб.поле только выводит связанные с ней данные, сама по себе она ничего не хранит.
5 quest
 
28.12.18
10:59
Оффтопик конечно, но интересно - ты правда веришь что это будут хотя-бы по диагонали просматривать?
6 Droning1C
 
28.12.18
11:02
(5) тут (2) специально отправил только 3 нужные процедуры
7 Droning1C
 
28.12.18
11:03
(4) ну допустим. тоесть сделать такое привыводестроки или приполученииданных нельзя? нужно делать впроцедуре приактивациистроки и записывать данные??
8 quest
 
28.12.18
11:03
РассчитатьДанныеЗаказов - прикрути ты это сразу к запросу в динамическом списке и не мучайся
9 IOANNscrp
 
28.12.18
11:04
Если ФлагРасчета = 1 И ФлагАктивацииСтроки И ДанныеСтроки.Ссылка = ЭлементыФормы.Список.ТекущаяСтрока Тогда
Сравнение ссылка = текущаяСтрока губит все, при выводе данных происходит обработка всех строк отображаемых на форме, и под условие ссылка = текущая соответственно подходит только активная
10 Droning1C
 
28.12.18
11:06
(4) что значит связанные данные? тоесть когда я присваюиваю ячейке текст эти данные не записываются в оформление, а только "ассоциируются" с этой ячейкой, выводятся а потом забываются?
11 Droning1C
 
28.12.18
11:09
(9) но ведь если я уберу это сравнение, то будет обработано все табполе? а мне нужно поочередно отобразить на форме расчеты активированных строк
12 Droning1C
 
28.12.18
11:09
(8) это конечно интересно, но опыта пока оч мало. изучу
13 IOANNscrp
 
28.12.18
11:10
(10) ничего не забывается. У Вас срабатывает обработчик при выводе строки, а у вас там условие, что обрабатывается только текущая строка (активная, выбранная пользователем). Крутите это условие
14 IOANNscrp
 
28.12.18
11:10
(13) соответственно предыдущие аннулируются
15 Eiffil123
 
28.12.18
11:11
(8) судя по названию процедур, это неуправляемые формы
16 Droning1C
 
28.12.18
11:12
(15) именно
17 IOANNscrp
 
28.12.18
11:12
(11) как вариант, не помню отрабатывает ли он, добавить в эту условие еще одно. Мол, если уже производились расчеты(заполнены колонки с текстом), то так же запускать в условие для расчета/перерасчета, иначе обнулит
18 Droning1C
 
28.12.18
11:14
(17) или может добавлять каждый раз отработанную ссылку в список значений. и в условие добавить, что если ссылка в списке, то отрабатывать по ней так же
19 Droning1C
 
28.12.18
11:14
(17) так норм?
20 ptiz
 
28.12.18
11:15
(10) Если у колонки заполнено свойство "Данные" - выводятся эти данные. Если нет - данных нет... Тогда рисуем текст при КАЖДОМ срабатывании ПриВыводеСтроки() или ПриПолученииДанных()
21 IOANNscrp
 
28.12.18
11:16
(19) В принципе как альтернатива, чтобы работало да:D
22 Droning1C
 
28.12.18
11:17
всем спасибо, сейчас буду пробовать!
23 Droning1C
 
28.12.18
11:28
(20) только вот где этот код писать? при кативации строки?
24 ptiz
 
28.12.18
11:31
Без разницы.
ПриПолученииДанных удобнее тем, что если требуется выплнить запрос - можно сделать один запрос по группе строк, которые попали в эту процедуру.
25 ptiz
 
28.12.18
11:31
Т.е. рисуешь там, где доступно ОФормлениеСтроки:
ПриВыводеСтроки() или ПриПолученииДанных()
26 Droning1C
 
28.12.18
11:54
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Если ЭлементыФормы.Список.Колонки.ОбособленныйУчет.Видимость Тогда
        УправлениеЗаказами.ВывестиПризнакОбособленныйУчетВФормуСписка(Элемент, ОформленияСтрок, новый Соответствие());
    КонецЕсли;
    
    Если ФлагРасчета = 1 Тогда
        
        Соответствие = Новый Соответствие;
        СписокДокументов = Новый СписокЗначений;
        
        Для Каждого ТекОформление Из ОформленияСтрок Цикл
            Если Элемент.ТекущиеДанные.Ссылка = ТекОформление.ДанныеСтроки.Ссылка Или ЗначениеЗаполнено(ТекОформление.Ячейки.ДатаИзготовления.Текст) Тогда
                Документ = ТекОформление.ДанныеСтроки.Ссылка;
                
                Соответствие.Вставить(ТекОформление.ДанныеСтроки.Ссылка, ТекОформление);
                СписокДокументов.Добавить(Документ);
            КонецЕсли;
        КонецЦикла;
                
        Результат = РассчитатьДанныеЗаказов(СписокДокументов);
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() Цикл
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.Текст = ?(Выборка.Отгружено = 0, "", Формат(Выборка.Отгружено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Баланс.Текст = ?(Выборка.Баланс = 0, "", Формат(Выборка.Баланс,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Баланс.ОтображатьТекст = Истина;
                        
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.Текст = ?(Выборка.ДатаПереноса = Неопределено, "", Формат(Выборка.ДатаПереноса, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.ОтображатьТекст = Истина;            
            
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.Текст = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ОтображатьТекст = Истина;            
                        
            Если Выборка.Баланс = 0 И Выборка.Оплачено <> 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Баланс > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Баланс < 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
            Если Выборка.Оплачено = 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Оплачено > 0 И Выборка.Оплачено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Оплачено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Оплачено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;    
            КонецЕсли;
            
            Если Выборка.Отгружено = 0 И Выборка.Оплачено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Отгружено > 0 И Выборка.Отгружено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Отгружено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Отгружено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если ЗначениеЗаполнено(Выборка.ДатаПереноса) Тогда
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
        КонецЦикла;
                
    КонецЕсли;

    Если ФлагРасчета = 2 Тогда
        
        Соответствие = Новый Соответствие;
        СписокДокументов = Новый СписокЗначений;
        
        Для Каждого ТекОформление Из ОформленияСтрок Цикл
            Если Не ТекОформление.ДанныеСтроки = Неопределено Тогда
                Документ = ТекОформление.ДанныеСтроки.Ссылка;
                
                Соответствие.Вставить(ТекОформление.ДанныеСтроки.Ссылка, ТекОформление);
                СписокДокументов.Добавить(Документ);
            КонецЕсли;
        КонецЦикла;
                
        Результат = РассчитатьДанныеЗаказов(СписокДокументов);
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() Цикл
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.Текст = ?(Выборка.Отгружено = 0, "", Формат(Выборка.Отгружено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Баланс.Текст = ?(Выборка.Баланс = 0, "", Формат(Выборка.Баланс,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Баланс.ОтображатьТекст = Истина;
                        
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.Текст = ?(Выборка.ДатаПереноса = Неопределено, "", Формат(Выборка.ДатаПереноса, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.ОтображатьТекст = Истина;            
            
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.Текст = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ОтображатьТекст = Истина;            
                        
            Если Выборка.Баланс = 0 И Выборка.Оплачено <> 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Баланс > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Баланс < 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
            Если Выборка.Оплачено = 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Оплачено > 0 И Выборка.Оплачено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Оплачено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Оплачено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;    
            КонецЕсли;
            
            Если Выборка.Отгружено = 0 И Выборка.Оплачено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Отгружено > 0 И Выборка.Отгружено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Отгружено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Отгружено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если ЗначениеЗаполнено(Выборка.ДатаПереноса) Тогда
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
        КонецЦикла;
                
    КонецЕсли;
    
КонецПроцедуры
27 Droning1C
 
28.12.18
11:55
пытаюсь сделать как-то так. Привыводестроки вообще убрал. Но текущиеДанные недоступны при открытии формы, ибо курсор еще не стоит ни на одной строке. как быть? Или может я вообще неверный подход выбрал?
28 Droning1C
 
28.12.18
11:55
Если Элемент.ТекущиеДанные.Ссылка = ТекОформление.ДанныеСтроки.Ссылка Или ЗначениеЗаполнено(ТекОформление.Ячейки.ДатаИзготовления.Текст) Тогда


Выдает ошибку
29 Droning1C
 
28.12.18
11:58
ну ладнО, это можно победить добавлением условия Если Не Элемент.ТекущиеДанные = Неопределено.     Но в остальном то правильно?
30 Droning1C
 
28.12.18
12:01
Для Каждого ТекОформление Из ОформленияСтрок Цикл
        Если Не Элемент.ТекущиеДанные = Неопределено Тогда
            Если Элемент.ТекущиеДанные.Ссылка = ТекОформление.ДанныеСтроки.Ссылка Или ЗначениеЗаполнено(ТекОформление.Ячейки.ДатаИзготовления.Текст) Тогда
                Документ = ТекОформление.ДанныеСтроки.Ссылка;
                
                Соответствие.Вставить(ТекОформление.ДанныеСтроки.Ссылка, ТекОформление);
                СписокДокументов.Добавить(Документ);
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
                
        Результат = РассчитатьДанныеЗаказов(СписокДокументов);
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() Цикл
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.Текст = ?(Выборка.Отгружено = 0, "", Формат(Выборка.Отгружено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Баланс.Текст = ?(Выборка.Баланс = 0, "", Формат(Выборка.Баланс,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Баланс.ОтображатьТекст = Истина;
                        
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.Текст = ?(Выборка.ДатаПереноса = Неопределено, "", Формат(Выборка.ДатаПереноса, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.ОтображатьТекст = Истина;            
            
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.Текст = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ОтображатьТекст = Истина;            
                        
            Если Выборка.Баланс = 0 И Выборка.Оплачено <> 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Баланс > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Баланс < 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
            Если Выборка.Оплачено = 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Оплачено > 0 И Выборка.Оплачено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Оплачено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Оплачено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;    
            КонецЕсли;
            
            Если Выборка.Отгружено = 0 И Выборка.Оплачено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Отгружено > 0 И Выборка.Отгружено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Отгружено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Отгружено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если ЗначениеЗаполнено(Выборка.ДатаПереноса) Тогда
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
        КонецЦикла;
                
    КонецЕсли;
31 Droning1C
 
28.12.18
12:02
вот так не отрабатывает, все равно по одной строке выводит
32 IOANNscrp
 
28.12.18
12:02
(29) Нюанс может быть, что ДатаИзготовления.Текст может не содержать значение, поэтому стоит проверить через отладку
33 Droning1C
 
28.12.18
12:08
(32) ну поэтому и не заполняется. значения там нет. Видимо это значение не сохраняется... Как быть?
34 Droning1C
 
28.12.18
12:11
(20) делаю приполученииданных. как сделать так, чтобы в запрос попали ссылки и с активированного документа и с тех, у которых уже заполнена ДатаИзготовления? Вот в чем сложность
35 IOANNscrp
 
28.12.18
12:13
(33) Или ЗначениеЗаполнено(ТекОформление.Ячейки.ДатаИзготовления.Текст) // это убираем
СписокДокументов // объявляем как переменную модуля/формы или что там у Вас и не очищаем,
У вас все равно в функцию выборки передается этот список
Поэтому ПриАктивацииСтроки помещаете в  списокДокументов.
А процедуру при получении оставляете той же
36 IOANNscrp
 
28.12.18
12:21
Перем СписокДокументов;

Процедура ПриАктивизацииСтроки()

   ТекСтр = Элементы.Список.ТекущаяСтрока;
   Если ТекСтр <> Неопределено Тогда
    СписокДокументов.Добавить(текстр.ссылка);
   КонецЕсли;

КонецПроцедуры

Процедура ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Результат =СписокДокументов.НайтиПоЗначению(ДанныеСтроки.Ссылка);//Если СписокДокументов - список значений
Если Результат <> Неопределено Тогда
             // выполняете свои процедуры по заполнению
КонецЕсли;
КонецПроцедуры
37 IOANNscrp
 
28.12.18
12:24
Перем СписокДокументов;

Процедура ПриАктивизацииСтроки()

   ТекСтр = Элементы.Список.ТекущаяСтрока;
   Если ТекСтр <> Неопределено Тогда
      СписокДокументов.Добавить(текстр.ссылка);
   КонецЕсли;

КонецПроцедуры

Процедура ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

Результат =СписокДокументов.НайтиПоЗначению(ДанныеСтроки.Ссылка)//Если СписокДокументов - список значений

Если Результат <> Неопределено Тогда
     // выполняете свои процедуры по заполнению
КонецЕсли;

КонецПроцедуры

СписокДокументов = новый СписокЗначений;
38 Droning1C
 
28.12.18
12:36
(37) объявил как вы сказали переменную, но выдает ошибку  {Документ.ЗаказПокупателя.Форма.ктФормаСписка.Форма(269)}: Значение не является значением объектного типа (Добавить)
            СписокДокументов.Добавить(ТекСтр.Ссылка);
39 IOANNscrp
 
28.12.18
12:38
(38) в конце модуля определить тип как списокЗначений см. (37) конец кода
40 IOANNscrp
 
28.12.18
12:39
СписокДокументов = новый СписокЗначений;
41 Droning1C
 
28.12.18
12:40
спасибо! (40) Скажите, пожалуйста, а сколько вы уже занимаетесь программированием на 1с, если не секрет?
42 IOANNscrp
 
28.12.18
12:49
(41) Не секрет) с ноября 2016
43 Droning1C
 
28.12.18
12:51
(42) Документ.ЗаказПокупателя.Форма.ктФормаСписка.Форма(105)}: Значение не является значением объектного типа (Ячейки)
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
44 Droning1C
 
28.12.18
12:52
(42) ячейки начали заполняться, но постоянно выдаются такие ошибки
45 Droning1C
 
28.12.18
12:52
(42) я через приполучении данных решил)
46 IOANNscrp
 
28.12.18
12:55
(44)
Результат =СписокДокументов.НайтиПоЗначению(ДанныеСтроки.Ссылка)

Если Результат <> Неопределено Тогда
   Соответствие.Вставить(Результат.Значение, ОформлениеСтроки);
КонецЕсли;
47 hhhh
 
28.12.18
13:01
(45) соответствия выкинь. Делай выборку как таблица значений

Выборка = Результат.Выгрузить();
48 Droning1C
 
28.12.18
13:02
(46) у меня результат это результат выполнения запроса. Результат.Значение не прокатывает
49 Droning1C
 
28.12.18
13:03
вообще почему такая ошибка возникает, если соответствие заполнено?
50 IOANNscrp
 
28.12.18
13:08
(48) так задайте другое имя переменной))
51 Droning1C
 
28.12.18
13:10
это я понимаю, я не понимаю, что вы этим хотите добиться... (50)
52 Droning1C
 
28.12.18
13:10
сейчас процедура выглядит так  





Если ФлагРасчета = 1 Тогда
        
        Соответствие = Новый Соответствие;
        
        Для Каждого ТекОформление Из ОформленияСтрок Цикл
            Если Не Элемент.ТекущиеДанные = Неопределено Тогда
                
                Соответствие.Вставить(ТекОформление.ДанныеСтроки.Ссылка, ТекОформление);
            КонецЕсли;
            
        КонецЦикла;
        
        Результат = РассчитатьДанныеЗаказов(СписокДокументов);
        
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() Цикл
            
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.Текст = ?(Выборка.Оплачено = 0, "", Формат(Выборка.Оплачено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Оплачено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.Текст = ?(Выборка.Отгружено = 0, "", Формат(Выборка.Отгружено,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Отгружено.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.Баланс.Текст = ?(Выборка.Баланс = 0, "", Формат(Выборка.Баланс,"ЧЦ=15; ЧДЦ=2"));
            Соответствие[Выборка.Сделка].Ячейки.Баланс.ОтображатьТекст = Истина;
            
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.Текст = ?(Выборка.ДатаПереноса = Неопределено, "", Формат(Выборка.ДатаПереноса, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаПереноса.ОтображатьТекст = Истина;            
            
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.Текст = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.Значение = ?(Выборка.ДатаИзготовления = Неопределено, "", Формат(Выборка.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
            Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ОтображатьТекст = Истина;            
            
            Если Выборка.Баланс = 0 И Выборка.Оплачено <> 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Баланс > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Баланс < 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.Баланс.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
            Если Выборка.Оплачено = 0 И Выборка.Отгружено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Оплачено > 0 И Выборка.Оплачено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Оплачено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Оплачено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Оплачено.ЦветФона = WebЦвета.СветлоЗеленый;    
            КонецЕсли;
            
            Если Выборка.Отгружено = 0 И Выборка.Оплачено <> 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоРозовый;
            ИначеЕсли Выборка.Отгружено > 0 И Выборка.Отгружено < Выборка.Сделка.СуммаДокумента Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЖелтый;
            ИначеЕсли Выборка.Отгружено = Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            ИначеЕсли Выборка.Отгружено > Выборка.Сделка.СуммаДокумента И Выборка.Сделка.СуммаДокумента > 0 Тогда
                Соответствие[Выборка.Сделка].Ячейки.Отгружено.ЦветФона = WebЦвета.СветлоЗеленый;
            КонецЕсли;
            
            Если ЗначениеЗаполнено(Выборка.ДатаПереноса) Тогда
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
                Соответствие[Выборка.Сделка].Ячейки.ДатаИзготовления.ЦветФона = WebЦвета.СветлоРозовый;
            КонецЕсли;
            
        КонецЦикла;
        
    КонецЕсли;
53 Droning1C
 
28.12.18
13:10
и Это ПриПолученииДанных
54 Droning1C
 
28.12.18
13:11
не могу понять. как вы хотите, чтобы она выглядила с вашими правками?
55 Droning1C
 
28.12.18
13:12
(50) я дико извиняюсь, может я конкретно туплю, но когда сидишь над одной задачей часов 6, глаз замыливается(
56 hhhh
 
28.12.18
13:13
(47) + типа так

            СтрВ = Выборка.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Документ");

ОформлениеСтроки.Ячейки.Оплачено.Текст = ?(СтрВ.Оплачено = 0, "", Формат(СтрВ.Оплачено,"ЧЦ=15; ЧДЦ=2"));
ОформлениеСтроки.Ячейки.ДатаИзготовления.Текст = ?(СтрВ.ДатаИзготовления = Неопределено, "", Формат(СтрВ.ДатаИзготовления, "ДФ=dd.MM.yyyy"));
57 IOANNscrp
 
28.12.18
13:23
Результат = РассчитатьДанныеЗаказов(СписокДокументов);
Выборка = Результат.Выгрузить();

Для Каждого ТекОформление Из ОформленияСтрок Цикл
            Если Не Элемент.ТекущиеДанные = Неопределено и (Элемент.ТекущиеДанные = ТекОформление.ДанныеСтроки.Ссылка или Выборка.Найти(ТекОформление.ДанныеСтроки.Ссылка, "Документ")<> Неопределено  Тогда
            ТекОформление .Ячейки.Оплачено.Текст = ?(Выборка.Найти(ТекОформление.ДанныеСтроки.Ссылка, "Документ").Оплачено = 0, "", Формат(Выборка.Найти(ТекОформление.ДанныеСтроки.Ссылка, "Документ").Оплачено,"ЧЦ=15; ЧДЦ=2"));
            КонецЕсли;        
КонецЦикла;
58 IOANNscrp
 
28.12.18
13:24
Где-то над оптимизацией и тд подумать, а так должен код рабочим быть
59 Droning1C
 
28.12.18
13:35
{Документ.ЗаказПокупателя.Форма.ктФормаСписка.Форма(106)}: Преобразование значения к типу Булево не может быть выполнено
            Если Не Элемент.ТекущиеДанные = Неопределено и (Элемент.ТекущиеДанные = ТекОформление.ДанныеСтроки.Ссылка или Выборка.Найти(ТекОформление.ДанныеСтроки.Ссылка, "Сделка"))<> Неопределено  Тогда
60 IOANNscrp
 
28.12.18
13:38
еще раз полный код процедуры при получении данных предоставьте)
61 Droning1C
 
28.12.18
13:38
Алелуйя!!!!!!!!!!!!!!!! Работает!!!!!!!!!!!!!!!!!!!!
62 Droning1C
 
28.12.18
13:39
скобочки убрал)
63 Droning1C
 
28.12.18
13:39
Если Не Элемент.ТекущиеДанные = Неопределено и Элемент.ТекущиеДанные = ТекОформление.ДанныеСтроки.Ссылка или Выборка.Найти(ТекОформление.ДанныеСтроки.Ссылка, "Сделка"<> Неопределено



вот так
64 IOANNscrp
 
28.12.18
13:40
Начало положено :D
65 Droning1C
 
28.12.18
13:40
(60) (56) Спасибо ДобрыеЛюди!   Подрасту немного и тоже буду помогать салагам, как я, уж очень это выручает, когда нужно!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.