Имя: Пароль:
1C
1С v8
Не добавляется запись в документ
,
0 Игорь_МММ
 
26.05.15
14:46
https://cloud.mail.ru/public/LKR6/AEeR6Zdmf - сделал такую форму создания Документа СчетОтПоставщика. Есть возможность заполнить таб.часть документа "по заявке"  - это все работает. Не работает сама изначальная возможность создать эту Табчасть вручную  - при нажатии на "плюс" появляется новая строка, но ввести в нее ничего нельзя, эта возможность появляется если только сохранить документ с этой пустой строкой а потом ее отредактировать. Почему так происходит и как с этим побороться?
1 Timon1405
 
26.05.15
14:54
Какая жесть, сделайте внешнюю обработку заполнения
http://its.1c.ru/db/metod8dev#content:4259
2 Игорь_МММ
 
26.05.15
15:15
буду изучать ,спасибо
а с чем связана невозможность добавления строки в табличную часть в моем случае?
3 Timon1405
 
26.05.15
15:20
(2) судя по отсутствию стандартной командной панели, реквизит формы не свзязан с данными или что-то в этом роде. глубже по фото гадать не умею(
4 Игорь_МММ
 
26.05.15
15:29
да нет связано все https://cloud.mail.ru/public/6W3s/Z46CKTSy1
а командная панель - это стандартная только я ее урезал чуть)) https://cloud.mail.ru/public/LYWR/snCwdD1j9

после сохранения почему-то можно редактировать, а до того нельзя..
5 pushnoy
 
26.05.15
15:42
(0) Обработчики событий, может, есть?
6 Игорь_МММ
 
26.05.15
15:53
в модуле вот это:

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

&НаКлиенте
Процедура ЗаполнитьГрПриход(Команда)
    ЗаполнитьПриход();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПриход()
    ТЧ = Объект.СоставСчета.Выгрузить();
    ТЧ.ЗаполнитьЗначения(ТекущаяДата(), "ПриходУПоставщика");          
    Объект.СоставСчета.Загрузить(ТЧ);
КонецПроцедуры

&НаКлиенте
Процедура УдалитьЗаявку(Команда)
    
    УдалениеЗаявки();
    
КонецПроцедуры

&НаСервере
Процедура УдалениеЗаявки()
    Заявки = Объект.ЗаявкиПоставщику.Выгрузить();
    СтрокаЗаявки = Заявки.ВыбратьСтроку("Выберите удаляемую заявку");
    Для Каждого Строка Из СтрокаЗаявки.Заявка.ПереченьЗаявки Цикл
        Для Каждого СтрокаТЗСоставСчета Из Объект.СоставСчета Цикл                    
            Если Строка.Номенклатура = СтрокаТЗСоставСчета.Номенклатура Тогда
                КолТекущее = СтрокаТЗСоставСчета.Количество;
                Если (КолТекущее - Строка.Количество) > 0 Тогда
                    СтрокаТЗСоставСчета.Количество = КолТекущее - Строка.Количество
                Иначе
                    Объект.СоставСчета.Удалить(СтрокаТЗСоставСчета);
                КонецЕсли;
            КонецЕсли;                                            
        КонецЦикла;
    КонецЦикла;
    Для Каждого Строка Из Объект.ЗаявкиПоставщику Цикл
        Если Строка.Заявка = СтрокаЗаявки.Заявка Тогда
            Объект.ЗаявкиПоставщику.Удалить(Строка);
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры
7 НЕА123
 
26.05.15
16:03
не знаю, но скажу (с)
может Условноеоформление? проверка на пустую ссылку.
8 pushnoy
 
26.05.15
16:16
Может, при открытии формы что-то делается или обработчики событий шалят. Надо отладчиком пройтись и посмотреть, в какой момент программа запрещает редактировать строку
9 Игорь_МММ
 
26.05.15
16:20
а как выяснить в какой момент запрещается редактирование? в смысле отладчиком на что смотреть?
10 pushnoy
 
26.05.15
16:30
НА свойства доступность и только просмотр, например
11 Игорь_МММ
 
26.05.15
16:48
смотрел на этаформа.элементы.составсчета.доступность и .толькопросмотр  . ПриОткрытии, ПриДобавлении, ПриНачалеРедактирования
Доступность везде Истина ,ТолькоПросмотр =Ложь
12 pushnoy
 
26.05.15
17:00
(11) а на строчку пробовали?
13 Игорь_МММ
 
26.05.15
17:11
ПриАктивизацииСтроки , Ячейки, Поля  тоже самое
14 pushnoy
 
26.05.15
17:20
(13) Не знаю тогда... Я по картинкам не могу, только с помощью пощупать получается обычно))
15 Игорь_МММ
 
26.05.15
17:32
(14)спасибо в любом случае
16 НЕА123
 
27.05.15
09:16
(11)
>этаформа.элементы.составсчета.доступность ....

свойства  этаформа.элементы.составсчетаНоменклатура и т.д.
тот же самое?