Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Заполнение реквизита документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Pixar20000
1. Платформа 8.2
2. Конфигурация "Бухгалтерский учет для Украины"
не пинайте сильно, только учусь

Обработка "Банк-Клиент"
В процедуре "Сформировать выписки" добавляю свой код
            // заполняем реквизиты документа (ЭТО КОД СТАНДАРТНОЙ ОБРАБОТКИ)
            докОб.Контрагент             = Строка.Контрагент;
            докОб.СуммаДокумента         = ?(Строка.Приход > 0, Строка.Приход, Строка.Расход);
            докОб.Ответственный         = Строка.Ответственный;

           // ВСТАВЛЯЮ СВОЙ КОД
            Если ТипДокумента = "ПлатежноеПоручениеВходящее" Тогда
                докОб.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000036");
            КонецЕсли;


но при создании документа, поле остается пустым,
Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000036") - возвращает значение, т.е. по коду находит нормально
В чем может ошибка?
stark
ТипДокумента это строка?
ignsv
1. Не выполняется условие
2. Статьядвижения перезатирается дальше по коду > смотрите пошагово
1c_prog
В стандартній процедурі СформироватьВыписки знайдіть місце:
            РасшифровкаПлатежа.СтавкаНДС            = Строка.СтавкаНДС;
            РасшифровкаПлатежа.СуммаПлатежа             = докОб.СуммаДокумента;
            РасшифровкаПлатежа.СуммаВзаиморасчетов         = докОб.СуммаДокумента;
            //Дописати тут
            РасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("00031").Ссылка;
            //кінець дописаного коду


 ! 

Правила, п.12
 

Де РасшифровкаПлатежа - таблична частина документу ПлатежноеПоручениеВходящее(Исходящее), а Ви звертались до реквізиту(докОб) даного документу.
logist
Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("00031")

Достаточно без .Ссылка, метод НайтиПоКоду возвращает ссылку.
Petre
1c_prog,
1. У процедурі "СформироватьВыписки" немає зазначеної ділянки коду.
2. Довідник "СтатьиДвиженияДенежныхСредств" має іншу довжину коду.

Pixar20000, реквизит "СтатьяДвиженияДенежныхСредств" - один из вспомогательных, что используются для отображения в шапке документа данных первой строки табличной части "РасшифровкаПлатежа" не в режиме "список".
Смотрите процедуру "ЗаполнитьРасшифровкуПлатежа".
1c_prog
Цитата(Petre @ 13.01.15, 15:03) необходимо зарегистрироваться для просмотра ссылки
1c_prog,
1. У процедурі "СформироватьВыписки" немає зазначеної ділянки коду.
2. Довідник "СтатьиДвиженияДенежныхСредств" має іншу довжину коду.


Petre, ви зовсім не розумієте суть питання!
1. Процедура "СформироватьВыписки" належить до зовнішньої обробки "Клієнт-Банк", у більшості таких обробок даний код присутній!
2. Яке має значення довжина коду, коли ми викликаємо менеджер довідника?
Petre
Цитата(1c_prog @ 13.01.15, 16:11) необходимо зарегистрироваться для просмотра ссылки
Petre, ви зовсім не розумієте суть питання!

Та невже?
Цитата(1c_prog @ 13.01.15, 16:11) необходимо зарегистрироваться для просмотра ссылки
1. Процедура "СформироватьВыписки" належить до зовнішньої обробки "Клієнт-Банк", у більшості таких обробок даний код присутній!

В обробках версій 1.3.4 та 1.3.5 у процедурі "СформироватьВыписки" немає наведеної вами ділянки коду. Вона є у процедурі "ЗаполнитьРасшифровкуПлатежа".
Цитата(1c_prog @ 13.01.15, 16:11) необходимо зарегистрироваться для просмотра ссылки
2. Яке має значення довжина коду, коли ми викликаємо менеджер довідника?

Це ж ви написали:
Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("00031")

??? Чи у мене в очах двоїться?
1c_prog
Цитата(Petre @ 13.01.15, 16:19) необходимо зарегистрироваться для просмотра ссылки
В обробках версій 1.3.4 та 1.3.5 у процедурі "СформироватьВыписки" немає наведеної вами ділянки коду. Вона є у процедурі "ЗаполнитьРасшифровкуПлатежа".


А давайте перечислимо всі версії даної обробки, в процедурі "СформироватьВыписки" яких немає наведеної ділянки коду! Спеціально для Вас: описану вище ділянку коду можна вставити і в процедуру "ЗаполнитьРасшифровкуПлатежа"!

Цитата(Petre @ 13.01.15, 16:19) необходимо зарегистрироваться для просмотра ссылки
??? Чи у мене в очах двоїться?


Введена довжина коду не відіграє важливої ролі, думаю кожен зрозуміє що необхідно підставити необхідний код.
Але для Вас я все-таки напишу: РасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000036");

На відміну від Вас Petre, я намагаюсь допомогти.
Petre
1c_prog, приємно, що ви намагаєтесь допомагати. Але, даруйте, ви ж помилились. Варто навчитись сприймати об'єктивну критику.
1c_prog
Petre, а Ви в курсі, що довжину коду можна змінювати?
У мене немає ні найменшого бажання сприймати вашу критику та продовжувати дану дискусію, як на мене - тема закрита.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.