Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
1

Изменить значение в переменной (ввод на основании)

26.11.2018, 17:03. Просмотров 1155. Ответов 27
Метки нет (Все метки)

Добрый день!

Есть ввод на основании, есть три документа: заказпокупателя,требованиянасклад,реализациятоваровуслуг.

Нахожусь в окне требования на склад, нажимаю "Создать Реализацию" (рис. 1), и на основании "заказ покупателя" у меня заполняется "реализация товаров и услуг"(рис.2), все хорошо

Мне нужно чтобы в "количество" в "Реализации" падало не количествоПлан, а количествоФакт

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Процедура ДействияФормыСоздатьРеализацию(Кнопка)
      тз = ЭтотОбъект.ЗаказНаОтгрузку.выгрузить() ;
      тз.свернуть("Заказ");      
Для Каждого стр из тз Цикл      
Основание = стр.Заказ;      
ПараметрыФормы = Новый Структура("Основание", Основание); 
ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта", ПараметрыФормы);      
КонецЦикла;      
 
 
//Для Каждого строкаТЧ из Основание.Товары[0] Цикл      
// стр = ЗаказНаОтгрузку.Добавить();      
//      стр.КоличествоПлан = стр.КоличествоФакт;      
//КОнецЦикла;      
//Для Каждого строкаТЧ из ЭтотОбъект.ЗаказНаОтгрузку Цикл 
//      стр = Основание.Товары.Добавить();      
//      стр.КОличество = строкаТЧ.КоличествоФакт;      
//КОнецЦикла;      
//Для Каждого ТекСтрокаТовары из Основание.Товары Цикл      
//      строка = Товары.Добавить();      
//      строка.Количество = ТекСтрокаТовары.КоличествоФакт;      
//КонецЦикла;      
КонецПроцедуры
Подскажите пожалуйста, как это можно сделать?
0
Миниатюры
Изменить значение в переменной (ввод на основании)   Изменить значение в переменной (ввод на основании)  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2018, 17:03
Ответы с готовыми решениями:

Ввод на основании
Здравствуйте! Версия 1 Предприятие 8.1 (Учебная версия) Есть документ Оформление заказа. У него...

Ввод на основании
Уважаемые,программисты!Ситуация такая...Имеется документ "ЗаявкаНаПриобритение" в нем имеется...

Ввод на основании
Что я сделал не так что не устанавливается количество в тч списание товаров? Процедура...

Ввод на основании
Есть Реализация на основании его создаю СчетФактура в БП....

Ввод на основании
1С 8.0 Когда создаёшь документ вводимый на основании другого через конструктор: Процедура...

27
polax
933 / 610 / 205
Регистрация: 16.01.2015
Сообщений: 2,152
26.11.2018, 17:42 2
LeMorales, В модуле объекта РТУ есть
1C
1
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
ДанныеЗаполнения - это то чем заполняется док на основании. Берите оттуда что надо и ставьте туда куда надо
0
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
26.11.2018, 18:41  [ТС] 3
polax, да, уже работал с ней
почему-то не подумал об этом
сейчас попробую

Добавлено через 56 минут
polax, подскажите пожалуйста

1C
1
2
3
4
5
6
7
Если ТипЗнч(Основание) = Тип("ДокументСсылка.ТребованияНаСклад") Тогда 
        для каждого строка из ссылка.Товары Цикл
            стр = Товары.Добавить();
            стр.Количество = строка.КоличествоФакт;
            
        КонецЦикла; 
    КонецЕсли;
такое вот условие,вертел его и так, и так
у меня и в реализации есть Товары, и в заказе, но я не могу правильно сформулировать это условие, кажется,решение перед носом
0
polax
933 / 610 / 205
Регистрация: 16.01.2015
Сообщений: 2,152
26.11.2018, 19:05 4
LeMorales,
1C
1
2
3
4
5
для каждого строка из ДанныеЗаполнения.Товары Цикл
            стр = Товары.Добавить();
            стр.Количество = строка.КоличествоФакт;
            //и так все остальные колонки ТЧ Товары
        КонецЦикла;
0
26.11.2018, 19:05
Xomych
782 / 603 / 93
Регистрация: 01.11.2012
Сообщений: 2,167
26.11.2018, 19:07 5
Ты делаешь Реализацию на основе заказа, а тебе надо брать информацию из требования.
Значит надо как-то туда передать эту информацию или получить её в обработке заполнения.

Передать можно через ДанныеЗаполнения, например как структуру("Основание","ТЧТовары").
Либо структуру("ОснованиеЗаказ","ОснованиеТребование") и потом в момент заполнения в ТЧ Товары вставлять данные из Требования по соответствующему заданию.

Либо вообще получить данные по заказу из требования с помощью запроса.

Выбирать тебе
0
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
27.11.2018, 12:54  [ТС] 6
polax, в моем случае так:
1C
1
ОбработкаЗаполнения(Основание)
Попытался сделать по вашему примеру, ошибок нет, но оно ничего не изменяет
Смотрю через отладчик
стр.Количество: Значение не является значением объектного типа (Количество)
также и с КоличествоФакт
0
polax
933 / 610 / 205
Регистрация: 16.01.2015
Сообщений: 2,152
27.11.2018, 13:06 7
LeMorales,
стр.Количество стр - это добавляемая строка.Значит в ТЧ приемника (РТУ) Количество называется как-то по другому
Какая у вас конфигурация?
0
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
27.11.2018, 13:12  [ТС] 8
polax, скриншоты реквизитов
Конфигурация: "Управление торговым предприятием для Украины", редакция 1.2
0
Миниатюры
Изменить значение в переменной (ввод на основании)   Изменить значение в переменной (ввод на основании)   Изменить значение в переменной (ввод на основании)  

polax
933 / 610 / 205
Регистрация: 16.01.2015
Сообщений: 2,152
27.11.2018, 13:27 9
LeMorales, без dt разобраться трудно. Если возможно, публикуйте на файлообменнике и ссылку сюда. Ну или хотя бы демо базу если есть
0
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
27.11.2018, 14:41  [ТС] 10
polax,
https://dropmefiles.com/EMWnx
вот, пожалуйста
0
polax
933 / 610 / 205
Регистрация: 16.01.2015
Сообщений: 2,152
27.11.2018, 16:00 11
LeMorales, Качаю

Добавлено через 20 минут
Неплохо бы в личку получить логин и пароль с полными правами.
0
polax
933 / 610 / 205
Регистрация: 16.01.2015
Сообщений: 2,152
27.11.2018, 17:11 12
LeMorales, Промолчали, что это ОФ (вот не силен в них), что док не типовой, созданный в конфе. ((
У вас не настроен ввод на основании. Сделайте по скрину
1
Миниатюры
Изменить значение в переменной (ввод на основании)  
polax
933 / 610 / 205
Регистрация: 16.01.2015
Сообщений: 2,152
27.11.2018, 17:15 13
Не тот док выбрал (заметил только когда опубликовал ответ). Но в РТУ у вас почти та же беда. п.1-3 выполнены а вот п.4 Установка соответствия не сделано. Сделайте как вам надо и все заработает
1
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
28.11.2018, 15:17  [ТС] 14
polax, спасибо вам
но еще такой вопрос.. у меня после этой процедуры ведь полностью замещается своя обработка заполнения, а в ней информации оооох
0
polax
933 / 610 / 205
Регистрация: 16.01.2015
Сообщений: 2,152
28.11.2018, 15:20 15
LeMorales, Да бросьте. Скопируйте свою процедуру, сделайте соответствие в заново созданную обработку заполнения вставьте весь свой код. Главное, чтобы два кода (автомат и скопированный) не противоречили друг другу
0
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
03.12.2018, 14:53  [ТС] 16
polax, здравствуйте
я крутил-вертел
в итоге, получилось все кодом

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
Для Каждого стр из тз Цикл
        Основание = стр.Заказ;
        ПараметрыФормы = Новый Структура("Основание", Основание);
        форма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта", ПараметрыФормы);
                
        Для Каждого стр из ЗаказНаОтгрузку Цикл
            строка = форма.документобъект.товары.добавить();
            строка.количество = стр.КоличествоФакт;
        КонецЦикла;
 
         форма.Открыть();
        конеццикла;
КонецПроцедуры
Пытаюсь в документе заменить одно значение на другое, не знаю как правильно здесь втулить "текущиеданные"
Да, знаю что добавляю новую строку
0
Миниатюры
Изменить значение в переменной (ввод на основании)  
Xomych
782 / 603 / 93
Регистрация: 01.11.2012
Сообщений: 2,167
03.12.2018, 15:17 17
Лучший ответ Сообщение было отмечено LeMorales как решение

Решение

Вот попробуй в процедуре, которая у тебя по кнопке вызывается написать это
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
З = Новый Запрос;
З.Текст = "ВЫБРАТЬ
|Заказ,
|Номенклатура,
|КоличествоФакт
|ИЗ Документ.ТребованияНаСклад.ЗаказНаОтгрузку
|ГДЕ Ссылка = &Ссылка
|ИТОГИ ПО Заказ";
З.УстановитьПараметр("Ссылка",Ссылка);
 
Выб = З.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выб.Следующий() Цикл
    Док = Документ.РеализацияТоваровУслуг.СоздатьДокумент();
    Док.Заполнить(Выб.Заказ); //тут выполняется стандартная обработка заполнения, заполнятся данные из заказа
    
    ВыбТов = Выб.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыбТов.Следующий() Цикл
        Стр = Док.Товары.Найти(ВыбТов.Номенклатура,"Номенклатура");
        Если Стр <> Неопределено Тогда
            Стр.Количество = ВыбТов.КоличествоФакт;
        КонецЕсли;  
    КонецЦикла; 
    Док.ПолучитьФорму("ФормаДокумента").Открыть();
КонецЦикла;
На синтаксис не проверял
1
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
03.12.2018, 15:47  [ТС] 18
Xomych, 10 программистов-1С из 10
все просто супер
и вновь, спасибо большое Вам)
0
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
03.12.2018, 16:18  [ТС] 19
Xomych, агааа, смотрите, а почему происходит такая несостыковка?
0
Миниатюры
Изменить значение в переменной (ввод на основании)  
LeMorales
2 / 2 / 1
Регистрация: 17.12.2013
Сообщений: 95
03.12.2018, 16:38  [ТС] 20
Xomych, происходит подобное при идентичном наименовании номенклатуры
0
03.12.2018, 16:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2018, 16:38

Ввод на основании
Есть справочник &quot;Номенклатура&quot; с реквизитами &quot;ЦенаПродажи&quot; и &quot;ЦенаЗакупки&quot;. Есть документ...

Ввод бизнеспроцесса на основании
Хочу запускать бизнес процесс из документа, указал настройки для ввода на основании, но сама...

Ввод документа на основании
есть документ &quot;налоговая декларация&quot;, которая создается на основании прихода или расхода! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru