Имя: Пароль:
1C
1С v8
Помогите с формой выбора в 8.3 преобразовать из 8.2
,
0 TleVit
 
09.08.16
14:12
Помогите пожалуйста есть процедура в 8.2 в форме выбора она обращается к другой форме выбора и вот это надо перенести в 8.3
Процедура ПараметрыФормыВыбора(Элемент)

    ФормаВыбора =      Справочники.СырьеИспользуемоеВКалькуляциях.ПолучитьФормуВыбора("ФормаПодбораПоНаличиюТМЗ",ЭлементыФормы.СправочникСписок);
    ФормаВыбора.ЭлементыФормы.Склад.Значение = Склад;
    ФормаВыбора.ЭлементыФормы.НаДату.Значение = Дата;
    ФормаВыбора.ЭлементыФормы.Счет.Значение = Счет;
    ФормаВыбора.РежимВыбора = Истина;
    
КонецПроцедуры    

ЭлементыФормы.СправочникСписок - тип ТаблицаЗначений в 8.2
в 8.3 Сделала ДинамическийСписок тип ТаблицаЗначений
1 Горогуля
 
09.08.16
14:16
вот и выросло поколение людей, для которых 8.2 - это обычный режим
2 TleVit
 
09.08.16
14:20
Нет просто клиент помешан на новшествах и хочет перейти на 8.3 а конфигурация 8.2 с доработками. А я таким образом пробую изучить 8.3 все вроде бы гладко переходила, а здесь почему то застряла. Кажется я просто запуталась в реквизитах т.е. в их описаниях, поэтому обращение из одной формы выбора в другую не работает 8.3. Ищу кто поможет разобраться.
3 Горогуля
 
09.08.16
14:21
я сейчас тебя сильно убью, если скажу, что этот код вполне годится для 8.3?
4 hhhh
 
09.08.16
14:22
(2) на 8.3 не надо ничего писать. Там у этого элемента на форме просто прощелкать ПараметрыВыбора и СвязиПараметровВыбора.
5 mikecool
 
09.08.16
14:25
(3) переписать надо, а то через элементы формы писать значения - херня
6 TleVit
 
09.08.16
14:26
Да я сама думала , что скопирую и все будет работать как и в остальных справочниках и документах, а оно нет вот поэтому думаю где то реквизит неправильно описала.
По кнопке ОбновитьЦены Вот такая процедура закреплена на нее:
        ПараметрыФормыВыбора("НаДату");

    ФормаВыбора.ЭлементыФормы.РежимВыбораТМЗ.Значение = "Цены";
    ФормаВыбора.РежимВыбора = Истина;
    ФормаВыбора.Заголовок = "Заполнение по средне-взвешенным ценам";
    ФормаВыбора.КартинкаЗаголовка = БиблиотекаКартинок.МониторСостоянияОбмена;
    НаличиеСырья = ФормаВыбора.ОткрытьМодально();
из этой процедуры должна попадать в ту которая выше, но она не попадает и выдает ошибку Переменная не определена (ФормаВыбора)
7 hhhh
 
09.08.16
14:28
(6) ЭлементыФормы нет такого слова, ОткрытьМодально вообще про это забудь, надо всё теперь делать немодально.
8 polosov
 
09.08.16
14:28
(0) Передаешь в форму выбора нужные параметры, открываешь ее, юзер выбирает данные, пихаешь данные в хранилище, посылаешь оповещение, закрываешь форму выбора, в изначальной форме ловишь оповещение, вытаскиваешь данные из хранилища.
9 TleVit
 
09.08.16
14:29
Короче это выглядет так:
Нажимаем кнопку "Обновить цены" и в конфигурации должно работать так:
Процедура ПараметрыФормыВыбора(Элемент) Экспорт

ФормаВыбора = Справочники.СырьеИспользуемоеВКалькуляциях.ПолучитьФормуВыбора("ФормаПодбораПоНаличиюТМЗ",Элемент);
    ФормаВыбора.РежимВыбора = Истина;
    ФормаВыбора.Отбор.Склад.Значение = Склад;
    ФормаВыбора.Отбор.НаДату.Значение = Дата;
    ФормаВыбора.Отбор.Счет.Значение = Счет;
  ФормаВыбора.Открыть();
  
КонецПроцедуры    

&НаКлиенте
Процедура ОбновитьЦены(Команда)
        ПараметрыФормыВыбора("НаДату");

    ФормаВыбора.ЭлементыФормы.РежимВыбораТМЗ.Значение = "Цены";
    ФормаВыбора.РежимВыбора = Истина;
    ФормаВыбора.Заголовок = "Заполнение по средне-взвешенным ценам";
    ФормаВыбора.КартинкаЗаголовка = БиблиотекаКартинок.МониторСостоянияОбмена;
    НаличиеСырья = ФормаВыбора.ОткрытьМодально();
    
Для каждого СтрЗ из НаличиеСырья цикл
    СтрокаТабличнойЧасти=Справочники.СырьеИспользуемоеВКалькуляциях.НайтиПоРеквизиту("Номенклатура",СтрЗ.Номенклатура);
    
    если СтрокаТабличнойЧасти.Пустая() тогда
        продолжить;
    конецесли;
    Тд=СтрокаТабличнойЧасти.ПолучитьОбъект();
    ТД.Цена=стрз.Сумма*_APF.Div(стрЗ.Количество);
    ТД.Записать();

КонецЦикла;  
КонецПроцедуры

результат ошибка - Переменная не определена (ФормаВыбора)
10 Горогуля
 
09.08.16
14:31
приехали. короче, 8.3 - это такая мудрёная-мудрёная штуковина со своей логикой и парадигмой, ни разу не похожей на 8.2. лучше учебники почитать, а потом вопросы задавать. а вопросов будет много
11 TleVit
 
09.08.16
14:32
(4) А как это прощелкать я пока не "волшебник, а только учусь быть волшебником в 8.3"
12 TleVit
 
09.08.16
14:34
(10) Учебник Радченко этот раз мудренно написан Таблицузначений он ссылки и ссылки давал долго искала нашла выход на просторах интернета
13 polosov
 
09.08.16
14:34
(9) За модальность нынче бьют. Посмотри как подбор работает в ут11, к примеру.
14 Горогуля
 
09.08.16
14:35
(12) уже 21й век. знаки препинания изобретены
15 TleVit
 
09.08.16
14:36
(13) Я из Казахстана у нас это другое может скините со своей конфигурации отрывок "романа" , т.е. процедуры или как там работы выбора.
16 TleVit
 
09.08.16
14:38
Ребят мне скоро полтиник будет, а пенсию у нас до 63 продлили, будте благосклоны к бабушке "диназавру" начинала программировать еще с 1С 6, теперь тяжеловато становится, а кушать хочеться.
17 Горогуля
 
09.08.16
14:39
Светлана из Казахстана ещё в 11м году открыла для себя управляемый режим ;)
v8: Специфика кода в УФ
18 Горогуля
 
09.08.16
14:39
(16) сначала учиться, потом сюда. это далеко не крайний твой вопрос
19 polosov
 
09.08.16
14:42
(15) Там несколькими строками не описать.
В любой ут11 можно подглядеть принцип.
20 TleVit
 
09.08.16
14:51
(17) Там разговор идет о 8.2 И Радченко "Коротко о главном" 8.2
21 Горогуля
 
09.08.16
14:53
(20) это хорошо или плохо?
22 Горогуля
 
09.08.16
14:54
у меня файлик про Радченко датирован 9м годом. вполне себе хватило для изучения управляемого режима
23 TleVit
 
10.08.16
09:44
Опять обращаюсь к знатокам 8.3. Вчера все таки разобралась, ошибки не выходят, но при нажатии кнопка "Обновить цены" процедура что-то не работает. Направьте опять на путь истинный
вот код
&НаСервере
Процедура ПараметрыФормыВыбора(Элемент)

    ФормаВыбора = Справочники.СырьеИспользуемоеВКалькуляциях.ПолучитьФормуВыбора("ФормаПодбораПоНаличиюТМЗ",Элемент);
    ФормаВыбора.ЭлементыФормы.Склад.Значение = Склад;
    ФормаВыбора.ЭлементыФормы.НаДату.Значение = Дата;
    ФормаВыбора.ЭлементыФормы.Счет.Значение = Счет;
    ФормаВыбора.РежимВыбора = Истина;
    
КонецПроцедуры    

&НаСервере
Процедура ОбновитьЦены(Команда)

    ПараметрыФормыВыбора("НаДату");

    ФормаВыбора.ЭлементыФормы.РежимВыбораТМЗ.Значение = "Цены";
    ФормаВыбора.РежимВыбора = Истина;
    ФормаВыбора.Заголовок = "Заполнение по средне-взвешенным ценам";
    ФормаВыбора.КартинкаЗаголовка = БиблиотекаКартинок.МониторСостоянияОбмена;
    НаличиеСырья = ФормаВыбора.Открыть();
    
Для каждого СтрЗ из НаличиеСырья цикл
    СтрокаТабличнойЧасти=Справочники.СырьеИспользуемоеВКалькуляциях.НайтиПоРеквизиту("Номенклатура",СтрЗ.Номенклатура);
    
    если СтрокаТабличнойЧасти.Пустая() тогда
        продолжить;
    конецесли;
    Тд=СтрокаТабличнойЧасти.ПолучитьОбъект();
    ТД.Цена=стрз.Сумма*_APF.Div(стрЗ.Количество);
    ТД.Записать();

КонецЦикла;
КонецПроцедуры
24 Горогуля
 
10.08.16
09:46
нажатие - это такая штука, которая начинается на клиенте
25 Mauser
 
10.08.16
09:48
Похоже, пора открывать клуб имени Мисти. Для тех, кому.
26 Горогуля
 
10.08.16
09:50
лопни мой мозг! а что, цены в элементах справочника живут? а что, обязательно было называть ссылку на элемент справочника строкой ТЧ?
27 hhhh
 
10.08.16
09:54
НаличиеСырья = ФормаВыбора.Открыть();

такое не будет работать
28 Mauser
 
10.08.16
10:00
Вот кстати интересно, предыдущими темами навеяло. А посты типа (16) на stackoverflow бывают? А то "русские форумы", "русские пользователи"...
29 TleVit
 
10.08.16
10:04
Код взяла из 8.2 там работал, реквизиты описывала как там ТаблицаЗначений значит и в 8.3 ТЗ вот код из 8.2

Процедура ПараметрыФормыВыбора(Элемент)

    ФормаВыбора = Справочники.СырьеИспользуемоеВКалькуляциях.ПолучитьФормуВыбора("ФормаПодбораПоНаличиюТМЗ",ЭлементыФормы.СправочникСписок);
    ФормаВыбора.ЭлементыФормы.Склад.Значение = Склад;
    ФормаВыбора.ЭлементыФормы.НаДату.Значение = Дата;
    ФормаВыбора.ЭлементыФормы.Счет.Значение = Счет;
    ФормаВыбора.РежимВыбора = Истина;
    
КонецПроцедуры    

// Обновить цены сырья по остаткам на складе
Процедура ДействияФормыОбновитьЦены(Кнопка)
    ПараметрыФормыВыбора("НаДату");

    ФормаВыбора.ЭлементыФормы.РежимВыбораТМЗ.Значение = "Цены";
    ФормаВыбора.РежимВыбора = Истина;
    ФормаВыбора.Заголовок = "Заполнение по средне-взвешенным ценам";
    ФормаВыбора.КартинкаЗаголовка = БиблиотекаКартинок.МониторСостоянияОбмена;
    НаличиеСырья = ФормаВыбора.ОткрытьМодально();
    
Для каждого СтрЗ из НаличиеСырья цикл
    СтрокаТабличнойЧасти=Справочники.СырьеИспользуемоеВКалькуляциях.НайтиПоРеквизиту("Номенклатура",СтрЗ.Номенклатура);
    
    если СтрокаТабличнойЧасти.Пустая() тогда
        продолжить;
    конецесли;
    Тд=СтрокаТабличнойЧасти.ПолучитьОбъект();
    ТД.Цена=стрз.Сумма*_APF.Div(стрЗ.Количество);
    ТД.Записать();

КонецЦикла;
КонецПроцедуры
30 Горогуля
 
10.08.16
10:06
может, всё-таки букварь?
31 hhhh
 
10.08.16
10:16
(29) ну в 8.3 там всё другое. Нельзя тупо взять код и переделывать. Нужно во первых, самое главное, вот это ваш код стереть полностью, на всех дисках, потом проверить корзину, если там есть, тоже стереть его, чтобы вдруг где-нибудь не остался. Потом садитесь и спокойно пишете новый нормальный код.
32 TleVit
 
10.08.16
10:17
Умный человек может ответить и на глупый вопрос грамотно, а вот стебаться незачем, знание этим не показываем. Стань проще и к тебе потянуться люди, мой любимый учитель так часто говорил. Вот вчера дали ссылку почитала поняла.
33 hhhh
 
10.08.16
10:19
(32) да, поняла, называется. И по том написала полнейшую ахинею, после того как поняла.
34 TleVit
 
10.08.16
10:21
(31) Спасибо Вам за совет,но я и раньше училась конфигурировать с помощью обновления нетипичных конфигураций работала и в 1С 6, переписывала из 1С 7.5 в 7.7 и из 1с 7.7 в 8.1 и 8.2. А потом писала и другие разработки просто книги были более доступным языком написаны даже у Радченко.
35 Горогуля
 
10.08.16
10:22
я б уже даже потратил минут 15 да сделал. только этого ж не хватит
36 TleVit
 
10.08.16
10:23
Все До Свидания, Спасибо за помощь и добрые слова типа вы мадам идите в 1класс учиться с букваря, потому что Вы "Дура".
37 Горогуля
 
10.08.16
10:25
а тот, кто придумал держать цены в справочнике, не отличается умом и сообразительностью
38 Mauser
 
10.08.16
10:36
(36) Потому что клиент-сервер 1С 8.3 это не та вещь, которую можно осилить с кондачка при помощи "ой, мальчики". Надо читать букварь и не один.
Проблема в том, что "книги раньше более доступным языком писали", дадада.
39 Минона
 
10.08.16
10:46
вот ещё в помощь
http://v8.1c.ru/o7/201312ref/index.htm
40 Минона
 
10.08.16
10:50
41 Mauser
 
10.08.16
10:51
(39) Это уже контрольный на добивание, практически.
42 TleVit
 
10.08.16
11:22
(39) (40) Огромное спасибо за ссылки, помогли.
43 Минона
 
10.08.16
11:24
(42) да на здоровье ))
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн