Добрый день! Подскажите пожалуйста, что я делаю не так
В данном коде я хочу, чтобы создавалась новая строка в ТЧ (пустая)
Далее программа переходила бы сразу к ней (этой пустой строке) и там происходит всё остальное.
В итоге новая затирает текущую и переход к новой таки и не происходит.
Также на всякий случай процедура, которая в этой же форме, куда заходит вышеидущий код.
В данном коде я хочу, чтобы создавалась новая строка в ТЧ (пустая)
Далее программа переходила бы сразу к ней (этой пустой строке) и там происходит всё остальное.
В итоге новая затирает текущую и переход к новой таки и не происходит.
&НаКлиенте
Процедура Документы_ЗагрузитьФайл(Команда)
НоваяСтрока = Объект.Документы.Добавить();
Для Каждого Стр из Объект.Документы Цикл
Если Стр.ИмяФайла = "" Тогда
Элементы.Документы.ТекущаяСтрока = НоваяСтрока;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
Попытка
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Исключение
Возврат;
КонецПопытки;
ПроцедураОбработки = Новый ОписаниеОповещения("ВыполнитьЗагрузку", ЭтаФорма, Элементы.Документы.ТекущиеДанные);
НачатьПомещениеФайла(ПроцедураОбработки, ,ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);
КонецЕсли;
КонецЦикла;
ПоказатьТакже на всякий случай процедура, которая в этой же форме, куда заходит вышеидущий код.
&НаКлиенте
Процедура ВыполнитьЗагрузку(Результат, Адрес, ПомещаемыйФайл, СтрокаДанных) Экспорт
Если НЕ Результат Тогда
Возврат;
КонецЕсли;
Файл = Новый Файл(ПомещаемыйФайл);
СтрокаДанных.ИмяФайла = Файл.Имя;
СтрокаДанных.ИмяФайлаВХранилище = Служебный.ЗагрузитьФайлНаСервере(Адрес, Файл.Расширение);
Если СтрокаДанных.ИмяФайлаВХранилище <> "" Тогда
СтрокаДанных.ЕстьДокумент = Истина;
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Разукрупнение (разделение, дробление) и частичная ликвидация основных средств
- Проверка заполнения штрихкодов для УТ 11/КА 2 и Розница 2.2
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Выделение текущей строки в отчете (сделать сразу во всех отчетах и ничего не сломать)
- [ED] Обмен для предыдущих версий - УНФ 1.6, УНФ 3.0 с EnterpriseData (универсальный формат обмена), правила обмена
Найденные решения
(1) А я бы так ))
&НаКлиенте
Процедура Документы_ЗагрузитьФайл(Команда)
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
Попытка
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Исключение
Возврат;
КонецПопытки;
ПроцедураОбработки = Новый ОписаниеОповещения("ВыполнитьЗагрузку", ЭтаФорма);
НачатьПомещениеФайла(ПроцедураОбработки, ,ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьЗагрузку(Результат, Адрес, ПомещаемыйФайл) Экспорт
Если НЕ Результат Тогда
Возврат;
КонецЕсли;
СтрокаДанных= Объект.Документы.Добавить();
Файл = Новый Файл(ПомещаемыйФайл);
СтрокаДанных.ИмяФайла = Файл.Имя;
СтрокаДанных.ИмяФайлаВХранилище = Служебный.ЗагрузитьФайлНаСервере(Адрес, Файл.Расширение);
Если СтрокаДанных.ИмяФайлаВХранилище <> "" Тогда
СтрокаДанных.ЕстьДокумент = Истина;
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) у вас тут ошибка
в цикле присваивается одна и та же строка. это первое.
второе. в цикле вызывать диалог выбора файла? серьезно?.. тут цикл вообще уместен? код ужасный
НоваяСтрока = Объект.Документы.Добавить();
Для Каждого Стр из Объект.Документы Цикл
Если Стр.ИмяФайла = "" Тогда
Элементы.Документы.ТекущаяСтрока = НоваяСтрока;
в цикле присваивается одна и та же строка. это первое.
второе. в цикле вызывать диалог выбора файла? серьезно?.. тут цикл вообще уместен? код ужасный
(1)
Здравствуйте.
я бы сделал так:
Здравствуйте.
я бы сделал так:
&НаКлиенте
Процедура Документы_ЗагрузитьФайл(Команда)
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
Попытка
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Исключение
Возврат;
КонецПопытки;
ПроцедураОбработки = Новый ОписаниеОповещения("ВыполнитьЗагрузку", ЭтаФорма, Элементы.Документы.ТекущиеДанные);
НачатьПомещениеФайла(ПроцедураОбработки, ,ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);
НоваяСтрока = Объект.Документы.Добавить();
НоваяСтрока.ВашФайл = то что вы хотите туда записать...
КонецПроцедуры
Показать
(1) А я бы так ))
&НаКлиенте
Процедура Документы_ЗагрузитьФайл(Команда)
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
Попытка
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Исключение
Возврат;
КонецПопытки;
ПроцедураОбработки = Новый ОписаниеОповещения("ВыполнитьЗагрузку", ЭтаФорма);
НачатьПомещениеФайла(ПроцедураОбработки, ,ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьЗагрузку(Результат, Адрес, ПомещаемыйФайл) Экспорт
Если НЕ Результат Тогда
Возврат;
КонецЕсли;
СтрокаДанных= Объект.Документы.Добавить();
Файл = Новый Файл(ПомещаемыйФайл);
СтрокаДанных.ИмяФайла = Файл.Имя;
СтрокаДанных.ИмяФайлаВХранилище = Служебный.ЗагрузитьФайлНаСервере(Адрес, Файл.Расширение);
Если СтрокаДанных.ИмяФайлаВХранилище <> "" Тогда
СтрокаДанных.ЕстьДокумент = Истина;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот