Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как вывести колонки          
kot488 Подменю пользователя
сообщение 11.03.16, 11:18
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 205
Спасибо сказали: 3 раз
Рейтинг: 3.6

Имеется форма списка с.ф. на утп, на форму довлелены 3 колонки, ДокРеализация, ДокОплата и НалоговаяНакладная. Если по счету формируется выписка какого то из документов то в соответствующей колонке появляется цыфра 1, что говорит нам о том что документ имеется. Но как выводятся эти данные не могу понять.
Создано 3 реквизита ДокРеализация, ДокОплата и НалоговаяНакладная, создано 3 колонки и к каждой колонке подтянут свой реквизит.
Вот весь код на форме
Процедура ДействияФормыДействиеПечать(Кнопка)

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

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

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


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

    РаботаСДиалогами.ПоказатьСтруктуруПодчиненностиДокумента(ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка);
    
КонецПроцедуры


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


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


Процедура ДокументСписокПередУстановкойПометкиУдаления(Элемент, Отказ)
    РолиТекПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Роли;
    Если РольДоступна("Склады") Тогда
        Отказ = Истина;
    КонецЕсли;
КонецПроцедуры


Сообщение отредактировал Vofka - 11.03.16, 13:20

Vofka Подменю пользователя
сообщение 11.03.16, 11:22
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8


 ! 

kot488, код 1С нужно выделять специальными тегами!
 

Vofka Подменю пользователя
сообщение 11.03.16, 13:21
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Давайте сначала. Что именно не получается?

kot488 Подменю пользователя
сообщение 11.03.16, 13:55
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 205
Спасибо сказали: 3 раз
Рейтинг: 3.6

Цитата(Vofka @ 11.03.16, 13:21) *
Что именно не получается?


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

sava1 Подменю пользователя
сообщение 11.03.16, 14:31
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(kot488 @ 11.03.16, 11:18) *
Создано 3 реквизита ДокРеализация, ДокОплата и НалоговаяНакладная,

Реквизиты в СФ ?

kot488 Подменю пользователя
сообщение 11.03.16, 14:44
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 205
Спасибо сказали: 3 раз
Рейтинг: 3.6

Цитата(sava1 @ 11.03.16, 14:31) *
Реквизиты в СФ ?


Да, я впринцепе вывел уже колонки, но инетерсно все таки докопаться откуда код вывода идет

sava1 Подменю пользователя
сообщение 11.03.16, 14:51
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

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

kot488 Подменю пользователя
сообщение 11.03.16, 14:52
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 205
Спасибо сказали: 3 раз
Рейтинг: 3.6

sava1 @ Сегодня, 14:51 *,
Да это реквизиты документа
А как тогда вывод происходит?

sava1 Подменю пользователя
сообщение 11.03.16, 14:58
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

В списке добавляем свои реквизиты (которые документа) и размещаем данные в табличном поле

kot488 Подменю пользователя
сообщение 11.03.16, 15:13
Сообщение #10

Завсегдатай
****
Группа: Пользователи
Сообщений: 205
Спасибо сказали: 3 раз
Рейтинг: 3.6

Я добавил у каждого нужно документа реквизит СсылкаНаСчет ссылку на счет, добавил колонку Остаток в котором выводится сколько к примеру мы должны и сколько нам должны.
В итоге получилось если делать на основании счета реализацию, то после проведения в соответствующей колонке появляется цыфра 1, к тем документам которые уже выписаны никак не привязать же?

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

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

    Запрос.УстановитьПараметр("СписокСчетов", ДокСчет);              
    РезультатВыборки = Запрос.Выполнить().Выбрать();
    
    Пока РезультатВыборки.Следующий() Цикл
        УказательНаСтроку = УказательВывода.Получить(РезультатВыборки.Ссылка);
        УказательНаСтроку.ДокОплата.Значение = ?(РезультатВыборки.КолПрихода = 0,"",РезультатВыборки.КолПрихода);
        УказательНаСтроку.ДокРеализация.Значение = ?(РезультатВыборки.КолДочДок = 0,"",РезультатВыборки.КолДочДок);
        УказательНаСтроку.НалоговаяНакладная.Значение = ?(РезультатВыборки.КолНалогНакл = 0,"",РезультатВыборки.КолНалогНакл);
        
        
        
        
    КонецЦикла;
    
    ДокСчет = 0;
    УказательВывода = 0;

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

sava1 Подменю пользователя
сообщение 11.03.16, 16:26
Сообщение #11

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Обработкой

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 27.04.24, 0:19
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!