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

Хранилище

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

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



> Получение реквизитов одного документа для другого          
r1p88@mail.ru Подменю пользователя
сообщение 28.04.15, 14:52
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

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

logist Подменю пользователя
сообщение 28.04.15, 15:02
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Элемент ДокументСписок, событии ПриВыводеСтроки заполнять это поле нужной датой. Запрос даты думаю сами соберете?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

r1p88@mail.ru Подменю пользователя
сообщение 28.04.15, 16:05
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 28.04.15, 16:02) *
Элемент ДокументСписок, событии ПриВыводеСтроки заполнять это поле нужной датой. Запрос даты думаю сами соберете?


Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПоступлениеТоваровУслуг.Дата,
        |    ПоступлениеТоваровУслуг.Сделка,
        |    ЗаказПоставщику.Ссылка КАК Заказ
        |ИЗ
        |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику КАК ЗаказПоставщику
        |        ПО ПоступлениеТоваровУслуг.Сделка = ЗаказПоставщику.Ссылка";

    
        Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл              
    ЭтаФорма.ЭлементыФормы.Список.Колонки.ФактическоеПоступление = ВыборкаДетальныеЗаписи.Дата;        
КонецЦикла;


Набросал такой вариант. Но ничего не добавляет.

logist Подменю пользователя
сообщение 28.04.15, 16:32
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(r1p88@mail.ru @ 28.04.15, 17:05) *
Но ничего не добавляет.

Разумеется, посмотрите на свой код и подумайте, будет ли он что-то добавлять, в событии "при выводе СТРОКИ" wink.gif
p.s. позже напишу пример.

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: r1p88@mail.ru,

r1p88@mail.ru Подменю пользователя
сообщение 28.04.15, 16:46
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 28.04.15, 17:32) *
Разумеется, посмотрите на свой код и подумайте, будет ли он что-то добавлять, в событии "при выводе СТРОКИ" wink.gif
p.s. позже напишу пример.

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



Спасибо за помощь. Работает. Плюсую за помощь. В завершении есть пару вопросов:
1. Почему данный код необходимо вставлять в обработчик "при выводе строки"? Почему не в "при получении данных"? Производительность вроде же будет лучше?
2. В запросах не силён (пока). Не совсем понимаю где в запросе связь с заказом поставщику. По параметру?
3. Не проверял. Но в обработчике " при получении данных" тоже значение будет присвоено через "ОформлениеСтроки.Ячейки"?

logist Подменю пользователя
сообщение 28.04.15, 16:59
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(r1p88@mail.ru @ 28.04.15, 17:46) *
Не совсем понимаю где в запросе связь с заказом поставщику.

ПоступлениеТоваровУслуг.Сделка = &Сделка

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

r1p88@mail.ru Подменю пользователя
сообщение 29.04.15, 10:05
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Спасибо за ответы. Тему можно закрывать.

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


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

 

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